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()
並將錯誤記錄到日誌中?