Laravel 8 任务钩子
使用 before
和 after
方法,你可以指定在调度任务执行前或者执行后来运行的特定代码:
$schedule->command('emails:send')
->daily()
->before(function () {
// 任务即将开始...
})
->after(function () {
// 任务完成...
});
onSuccess
和 onFailure
方法允许您指定计划任务成功或失败要执行的代码:
$schedule->command('emails:send')
->daily()
->onSuccess(function () {
// 任务成功...
})
->onFailure(function () {
// 任务失败...
});
如果你的命令提供了有效输出,你可以在闭包中将 Illuminate\Support\Stringable
实例化为 $output
在 after
, onSuccess
或 onFailure
中对其进行访问:
use Illuminate\Support\Stringable;
$schedule->command('emails:send')
->daily()
->onSuccess(function (Stringable $output) {
// 任务成功...
})
->onFailure(function (Stringable $output) {
// 任务失败...
});