laravel homestead 中的任务计划程序

Task scheduler in laravel homestead

我正在尝试让计划任务在 homestead 中工作。

首先我创建了一个名为“randomUserCreatesubmission”的命令。

protected $signature = 'command:randomusercreatesubmission';

这个命令工作得很好。

然后我将它添加到 Kernel.php

的日程表中
protected function schedule(Schedule $schedule)
{
    $schedule->command('disposable:update')->weekly();
    $schedule->command('command:randomusercreatesubmission')->everyMinute();
}

然后,在 SSH 进入 homestead 后,我 运行 命令

php artisan schedule:run

这个returns下面的:

Running scheduled command: '/usr/bin/php7.4' 'artisan' command:randomusercreatesubmission > '/dev/null' 2>&1

它会运行“randomUserCreatesubmission”命令一次,立即。但是,我希望它每分钟 运行,但它不这样做。

为什么会这样?

您需要设置一个 cron 作业。您可以在您的终端运行

crontab -e

然后添加到你的 crontab 的末尾

* * * * * cd /path-to-your-project && php artisan schedule:run >> /dev/null 2>&1

并且此命令每分钟 运行。

不要忘记通过将以下语句添加到 crontab -e

来启动调度程序
* * * * * cd /path-to-your-project && php artisan schedule:run >> /dev/null 2>&1

熟悉一下官方Laravel Scheduler documentation