Laravel任务调度每隔X小时

25

我知道在 Laravel 中可以通过以下方式创建按小时执行的任务:

$schedule->command('catalog:update')->hourly();

但是,是否有一种方法可以每2个小时或5个小时执行一次呢?我在文档或这里都找不到相关信息。

3个回答

62
你将你的问题标记为Laravel 4,但我认为计划程序要到Laravel 5才被引入... 无论如何,基于你发布的代码片段,你可以使用方法。
$schedule->command('catalog:update')->cron('0 */2 * * *'); // every 2 hours
$schedule->command('catalog:update')->cron('0 */5 * * *'); // every 5 hours

请参阅文档以获取其他选项。https://laravel.com/docs/5.4/scheduling#defining-schedules


1
我刚刚修复了标签。对此很抱歉。这是针对Laravel 5的吗?所以在crobtab中,* * * * * php /path/to//artisan schedule:run >> /dev/null 2>&1 再次出现了? - senty
非常感谢... :) - senty

2
从Laravel 7开始,默认情况下可以这样使用:
$schedule->command('catalog:update')->everyTwoHours();
$schedule->command('catalog:update')->everyFiveHours();

查看文档:https://laravel.com/docs/7.x/scheduling


0

Laravel调度小时cron-command只能每2小时、3小时、4小时和6小时运行一次任务。没有everyFiveHours()命令,您将不得不使用命令来表示5小时,cron('0 */5 * * *')

以下命令受支持:

->everyTwoHours();  
->everyThreeHours();    
->everyFourHours(); 
->everySixHours();  

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接