【问题标题】:Stop queue on error出错时停止队列
【发布时间】:2014-11-20 12:40:44
【问题描述】:

我正在尝试删除我的队列出错。

我尝试了以下方法:

文件:global.php

Queue::failing(function($connection, $job, $data)
{
    // Delete the job
    $job->delete();
});

但是当我的队列像这样失败时:

public function fire($job, $data){
    undefined_function(); // this function is not defined and will trow a error
}

那么作业由于某些原因没有被删除。

有什么想法吗?

【问题讨论】:

    标签: laravel laravel-4 queue


    【解决方案1】:

    来自他们的user manual检查运行尝试次数部分:

    如果在处理作业时发生异常,它将自动释放回队列中。

    我认为您需要将最大尝试次数设置为 1,因此作业将在第一个错误时失败。

    php artisan queue:listen --tries=1
    

    【讨论】:

      【解决方案2】:

      你可以防止你的工作抛出异常

      public function handle()
      {
        try {
          //your code here
        }catch (\Exception $e){
          return true;
        }
      
      
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-03-25
        • 1970-01-01
        • 2017-02-20
        • 1970-01-01
        • 1970-01-01
        • 2022-09-27
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多