【发布时间】:2015-02-24 15:47:59
【问题描述】:
我正在使用 Laravel 和 Beanstalkd 队列驱动程序运行。我有一些长时间运行的作业,我遇到了一个问题,大约 60 秒左右后,作业将从保留状态移回就绪状态。该作业仍在运行,并且没有问题地完成。问题是,如果添加了另一个作业,它将不会在下一个运行,而是前一个已移回就绪状态的作业将运行。如果作业在添加另一个作业之前完成,则不是问题。
这是我的代码。
队列推送:
Queue::push('myApp\Processors\BuildQuick', $job);
职位代码:
public function fire($job, $data) {
try {
//some code here that calls another class to build an amazon ec2
} catch (\Exception $ex) {
\Logging::joblog($ex->getMessage(), "ERROR");
$job->delete();
return;
}
}
$job->delete();
\Logging::joblog("Job Completed Successfully", "INFO");
}
更新: 我已经用睡眠定时器对此进行了测试,每次都恰好发生在 1 分钟。我知道它不会抛出任何异常,我的代码所做的只是休眠 2 分钟。
【问题讨论】:
标签: laravel laravel-4 beanstalkd