我已经设置了一个laravel队列,并使用beanstalkd。
如果我使用Queue::later(),那么作业将被排队,但它不会在指定的时间运行,直到我在计划时间之后使用Queue::later()发送另一个作业。
我是否从我的设置中遗漏了一些东西,或者我的队列是否以某种方式弄乱了,如果是这样,我如何清除所有内容并使其再次正常运行。
我正在使用这里详细介绍的设置http://fideloper.com/ubuntu-beanstalkd-and-laravel4
有问题的服务器是Ubuntu 12.04
我刚刚在Ubuntu 13.10的新服务器上设置了所有这些,并且它像预期的那样工作。
我想知道它是如何可能的队列结束在这种状态,以及如何去修复它。Laravel报告没有失败的作业。
Debian wheezy(7.6)也有同样的问题
问题是beanstalkd被认为是稳定的版本。(v 1.4.6-1是我确认有问题的一个版本)这个问题在随后的版本中得到了修复,但不确定是哪个版本,但是更新你的Ubuntu版本会将被认为是稳定的版本(因此是安装的版本)更改为纠正了这个问题的版本。本文发布时的最新版本是v1.10-1,但1.9-2也应该没有这个错误。
所以对于任何有这个问题的人,要么尝试更新你的beanstald版本,或者使用不同的队列提供程序(如果你想留在本地服务,redis将是你最好的选择)。