阅读(916) (0)

Laravel 8 任务钩子

2021-07-06 09:25:14 更新

使用 beforeafter 方法,你可以指定在调度任务执行前或者执行后来运行的特定代码:

$schedule->command('emails:send')
         ->daily()
         ->before(function () {
             // 任务即将开始...
         })
         ->after(function () {
             // 任务完成...
         }); 

onSuccessonFailure 方法允许您指定计划任务成功或失败要执行的代码:

$schedule->command('emails:send')
         ->daily()
         ->onSuccess(function () {
             // 任务成功...
         })
         ->onFailure(function () {
             // 任务失败...
         }); 

如果你的命令提供了有效输出,你可以在闭包中将 Illuminate\Support\Stringable 实例化为 $outputafter , onSuccessonFailure 中对其进行访问:

use Illuminate\Support\Stringable;

$schedule->command('emails:send')
         ->daily()
         ->onSuccess(function (Stringable $output) {
             // 任务成功...
         })
         ->onFailure(function (Stringable $output) {
             // 任务失败...
         });