首页 文章

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

提问于
浏览
1

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

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

密切关注phpBeanstalkdAdmin,我可以看到作业是 buried 当队列:listen拿起工作,但过了一段时间它被踢回来,到 ready .

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

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

在队列处理程序的fire()方法中,我只是用一个artisan命令启动

Artisan::call(
        'tms:parse',
        [
            '--alias' => $data['alias'],
            '--notify' => $data['email']
        ]
    );

并打电话

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

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

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

1 回答

相关问题