現在、Report.php
というタスクを呼び出し、generateReport()
メソッドを使用してレポートを生成しています。 CLIコマンドphp artsan queue:listen
を使用してジョブが実行されていることを確認しました。 Artisan::call()
を呼び出して何か問題が発生した場合は、端末にエラーメッセージが表示されます。だから私はfailed()
の例外をキャッチしたいと思うし、ログにエラーを記録したい。 メソッドでtry catch
を試しましたが、例外をキャッチしていません。ジョブが失敗した場合、laravel jobs failed()メソッドをトリガする方法はありますか?
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()
をトリガーしてエラーをログに記録するにはどうすればよいですか?