首页 > 解决方案 > OnSuccess 中的 Laravel 计划命令不起作用

问题描述

我正在尝试一个接一个地链接 4 个命令示例:

  $schedule->command('test1')->everyMinute()->onSuccess(function () use($schedule){
            $schedule->call('test2')->onSuccess(function () use($schedule){
                $schedule->call('test3')->onSuccess(function () use($schedule){
                   $schedule->call('test4');
                });
            });
        });

但只有第一个命令被执行。即使我使用command而不是call在封闭内它也不起作用。任何帮助表示赞赏。

标签: laravellaravel-8laravel-7cron-task

解决方案


您应该参考Kernel使用$this而不是传递调度程序。调度程序希望您指定频率选项Kernel您可以使用该 功能$this->call()运行其他命令。可惜call()没有hooksonSuccess

相反,如果您想链接多个命令onSuccess(),则应考虑从另一个命令调用该命令


推荐阅读