Php 在Laravel 5.4中,当作业失败时,不会调用failed()方法
当前我正在创建一个要排队的作业,但由于某种原因,当作业的Php 在Laravel 5.4中,当作业失败时,不会调用failed()方法,php,laravel,Php,Laravel,当前我正在创建一个要排队的作业,但由于某种原因,当作业的handle()方法中执行的代码引发异常时,failed()方法未被触发。这是拉威尔的某种错误还是我做错了什么?正在调用我的AppServiceProvider中的Queue::failing()方法 <?php namespace App\Jobs; use App\Models\Email; use Carbon\Carbon; use Illuminate\Bus\Queueable;
handle()
方法中执行的代码引发异常时,failed()
方法未被触发。这是拉威尔的某种错误还是我做错了什么?正在调用我的AppServiceProvider中的Queue::failing()方法
<?php
namespace App\Jobs;
use App\Models\Email;
use Carbon\Carbon;
use Illuminate\Bus\Queueable;
use Illuminate\Queue\SerializesModels;
use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Contracts\Queue\ShouldQueue;
class MyCommand implements ShouldQueue
{
use InteractsWithQueue, Queueable, SerializesModels;
protected $lead;
/**
* Create a new job instance.
*/
public function __construct($lead)
{
$this->lead = $lead;
}
/**
* Execute the job.
*/
public function handle()
{
throw new \Exception("error!");
}
/**
* The job failed to process.
*
* @param \Exception $exception
*/
public function failed(\Exception $exception)
{
\Log::critical('wooot');
}
}
似乎调用了failed()方法,但因为$lead属性不是公共的。当我想要检索属性的内容时,出现了一个异常。哪个laravel版本?laravel版本是5.4如何分派作业,如何运行作业,以及使用哪个驱动程序?另外,您可能希望将一些日志放到src/illumb/Queue/FailingJob.php中,并在那里进行调试。。