1
目前我正在调用任务Report.php
并使用generateReport()
方法生成报告。我检查了使用CLI命令php artsan queue:listen
执行了这些作业。如果在拨打Artisan::call()
时出现任何问题,错误信息将显示在终端中。所以我想赶上failed()
的异常,我想将错误记录到日志中。 我已经尝试try catch
在handle()
方法,但它没有捕捉到例外。如何在作业失败时触发laravel作业失败()方法?
protected $options;
public function __construct($options)
{
$this->options = array_merge(
[
'task' => 'Report',
'do' => 'generateReport',
'limit' => '10000'
],
$options
);
}
public function handle()
{
Artisan::call('execute', [
'--task' => $this->options['task'],
'--do' => $this->options['do'],
'--parameters' => $this->options,
]);
}
public function failed()
{
//
}
如何触发failed()
并将错误记录到日志中?