我们有Maradb 10.1和Beanstalkd 1.10和Laravel 4.2我们有一个在没有队列的情况下成功运行的查询。但是,当它在beanstalkd中运行时,未归结,我们会在日志文件中获得" mysql server"的错误'
中的错误配置:
wait_timeout = 120
max_allowed_packet = 1024M
为什么在有和没有队列之间的不同行为
我们遇到了类似的问题,要么是因为代码在不同的线程中运行,连接丢失,或者是奇怪的垃圾收集和连接的漫长连接。
无论如何我们实施的是 - 保留工作并开始处理时,我们始终重新连接DB - 当我们检测到连接消失时,我们发布了工作(因此将再次捡起它)
如果它发生在处理流的中间,则您可能需要重新连接以便在工作中完成工作,如果工作是某种程度上的交易。