Laravel 如何运行多个定时任务?

问题:Laravel 对于下边这种定时执行多个回调任务不生效,如果定时回调只能有一个的话,除了发布为 多个 artisan 命令执行外,还有其他解决办法吗?谢谢
文件:project/app/Console/Kernel.php

protected function schedule(Schedule $schedule)
{
    $schedule->call(function () {
        $dataService1 = new DataService1();    // 同步任务1:每小时同步一次
        $dataService1->syncData();
    })->hourly();
    
    $schedule->call(function () {
        $dataService2 = new DataService2();    // 同步任务2:每天凌晨同步一次
        $dataService2->syncData();
    })->dailyAt(00:01);
}
阅读 6.1k
1 个回答

不能删除,自问自答...

$schedule->call('App\Service\DataService1@syncData')->hourly();
$schedule->call('App\Service\DataService2@syncData')->dailyAt(00:01);

即可。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题