Laravel + Beanstalkd排队 - 被埋的工作被踢

时间:2014-05-01 12:00:38

标签: laravel queue beanstalkd

我正在使用带有beanstalkd的Laravel 4.1在后台运行一些密集的Photoshop PSD文件处理。我还安装了phpBeanstalkdAdmin来监控队列中的内容。

正在处理的工作大约需要7-10分钟,但我注意到我的一些工作重新启动,即使他们仍在忙着运行。

密切关注phpBeanstalkdAdmin,我可以看到作业埋葬当队列:听取工作,但过了一段时间它被踢回来,准备好

要开始收听队列,我正在使用:

$ ./artisan queue:listen --queue=my_queue --memory=512 --timeout=600

在队列处理程序的fire()方法中,我只是用

启动一个工匠命令
    Artisan::call(
        'tms:parse',
        [
            '--alias' => $data['alias'],
            '--notify' => $data['email']
        ]
    );

并致电

if ($job != null) {
    $job->delete();
}

一旦工作完成。但我无法弄清楚为什么在忙碌的工作中途就会被踢好。

Laravel是否在预配置的时间间隔内没有任何反应后将工作恢复到准备状态?

1 个答案:

答案 0 :(得分:1)

似乎此问题已经解决了一段时间,但没有人费心更新Laravel文档:

https://github.com/laravel/framework/pull/3766