我在laravel“update:date”中创建了一个命令,“php artisan list”成功列出了它。我可以使用“php artisan update:date”执行它
Kernel.php:
protected $commands = [
'Snuba\Console\Commands\Inspire',
'Snuba\Console\Commands\UpdateDate'
];
protected function schedule(Schedule $schedule)
{
$schedule->command('inspire')
->hourly();
$schedule->command('update:date')
->everyMinute();
}
我将其配置为按照上面给出的每分钟运行。我还需要配置其他什么吗?我认为laravel应该在ubuntu服务器上自动将其注册为cron任务。
我认为laravel应该在ubuntu服务器上自动将其注册为cron任务。
不,你必须像以下一样开始:
* * * * * php /path-to-your-project/artisan schedule:run >> /dev/null 2>&1
启动计划程序
使用调度程序时,只需将以下Cron条目添加到服务器即可。如果您不知道如何将Cron条目添加到服务器,请考虑使用Laravel Forge等可以为您管理Cron条目的服务
我刚注意到:
Call to undefined method Illuminate\Console\Scheduling\Event::everyMinute()
我按照文档并认为这是一个有效的方法调用。我发现everyMinute()在laravel 5+中不再有效。所以,我使用了cron表达式。
Laravel命令调度程序允许您在Laravel本身内流畅而有表现地定义命令调度。有关更多信息,请访问以下链接qazxsw poi
如果您有权访问SSH运行命令crontab -e,请插入以下行:
它将按指定的时间运行所有指定的crons。
如果你有cpanel,那么在crontab下添加上面的命令行