【问题标题】:Laravel + Beanstalkd queue - buried jobs getting kickedLaravel + Beanstalkd 队列 - 被埋没的工作被踢
【发布时间】:2014-06-17 21:41:00
【问题描述】:

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

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

密切关注 phpBeanstalkdAdmin,当 queue:listen 接手工作时,我可以看到工作被 埋掉,但过了一会儿它又被踢回,到 ready.

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

$ ./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 是否会将作业踢回就绪状态?

【问题讨论】:

标签: laravel queue beanstalkd


【解决方案1】:

似乎这个问题不久前就解决了,但是没有人费心更新 Laravel 文档:

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

【讨论】:

    猜你喜欢
    • 2014-12-28
    • 1970-01-01
    • 2018-01-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多