Beanstalkd作业切换到“就绪”状态

时间:2015-02-24 15:47:59

标签: laravel laravel-4 beanstalkd

我正在使用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分钟。

1 个答案:

答案 0 :(得分:1)

我终于找到了造成这个问题的原因!

https://github.com/laravel/framework/issues/3480

这是在laravel 4.1中添加的我没有知道这个存在。您必须更改队列配置中的默认ttr。希望这有助于其他人!

相关问题