Laravel调度程序未自动运行

Wol*_*ler 1 cron scheduler scheduled-tasks laravel artisan

我做了一个调度程序.当我打电话给它时,php artisan userRanking它起作用.

这是以下代码Kernel.php:

protected $commands = [
    \App\Console\Commands\UserRanking::class,
];

protected function schedule(Schedule $schedule)
{
    $schedule->command('userRanking')
             ->everyMinute();
}
Run Code Online (Sandbox Code Playgroud)

如何发送它以使其自动运行?

Jos*_*ber 6

您必须设置一个cron每分钟调用一次计划运行的作业:

* * * * * php /path/to/artisan schedule:run 1>> /dev/null 2>&1
Run Code Online (Sandbox Code Playgroud)

阅读Laravel的Scheduler文档以获取更多信息.

  • @Sylar 任务不会自动运行,因为您需要设置 cron 它将每分钟自动执行您的任务 (2认同)
  • @Sylar 需要明确的是,cron 每分钟都会启动“laravel”调度程序。该调度程序将检查每次运行、每分钟,并查看您创建的计划以及需要在该分钟运行的计划。如果没有系统 cron/scheduler 每分钟运行 laravel,就没有任何东西可以启动你的预定命令。laravel 调度程序不会启动并保持运行;它启动、检查并关闭。 (2认同)