我正试图让计划任务在家里工作。
首先,我在中创建了一个名为";randomUserCreatesubmission";。
protected $signature = 'command:randomusercreatesubmission';
这个命令运行得很好。
然后我将其添加到Kernel.php 中的时间表中
protected function schedule(Schedule $schedule)
{
$schedule->command('disposable:update')->weekly();
$schedule->command('command:randomusercreatesubmission')->everyMinute();
}
然后,在SSHing进入家园后,我运行命令
php artisan schedule:run
这将返回以下内容:
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官方文档。