在队列中运行时,MySQL Server已消失



我们有Maradb 10.1和Beanstalkd 1.10和Laravel 4.2我们有一个在没有队列的情况下成功运行的查询。但是,当它在beanstalkd中运行时,未归结,我们会在日志文件中获得" mysql server"的错误'

中的错误

配置:

wait_timeout            = 120 
max_allowed_packet      = 1024M

为什么在有和没有队列之间的不同行为

我们遇到了类似的问题,要么是因为代码在不同的线程中运行,连接丢失,或者是奇怪的垃圾收集和连接的漫长连接。

无论如何我们实施的是 - 保留工作并开始处理时,我们始终重新连接DB - 当我们检测到连接消失时,我们发布了工作(因此将再次捡起它)

如果它发生在处理流的中间,则您可能需要重新连接以便在工作中完成工作,如果工作是某种程度上的交易。

最新更新