我在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任务。
答案 0 :(得分:0)
我刚注意到:
Call to undefined method Illuminate\Console\Scheduling\Event::everyMinute()
我按照文档认为这是一个有效的方法调用。我发现everyMinute()在laravel 5+中不再有效。所以,我改用了cron表达式。
答案 1 :(得分:0)
我认为laravel会自动将其注册为cron任务 ubuntu服务器。
不,你必须像以下一样开始:
* * * * * php /path-to-your-project/artisan schedule:run >> /dev/null 2>&1
启动计划程序
使用调度程序时,只需将以下Cron条目添加到服务器即可。如果您不知道如何将Cron条目添加到服务器,请考虑使用Laravel Forge等可以为您管理Cron条目的服务
答案 2 :(得分:0)
Laravel的命令调度程序允许您在Laravel本身内流畅而有表现地定义您的命令调度。有关详细信息,请访问以下链接laravel task scheduling
答案 3 :(得分:0)
如果您有权访问SSH 运行命令crontab -e 插入这一行:
将按指定的时间运行所有指定的crons。
如果你有cpanel,那么在crontab下添加命令
上面的行答案 4 :(得分:0)