如何为每小时 15 分钟创建设置的 Laravel 时间表?
Posted
技术标签:
【中文标题】如何为每小时 15 分钟创建设置的 Laravel 时间表?【英文标题】:How to create set Laravel schedule for each hour 15 minutes? 【发布时间】:2016-06-08 03:07:03 【问题描述】:我需要每小时 15 分钟运行一些数据更新功能。例如:
12:15 13:15 14:15 15:15如何为它创建时间表?我尝试了$schedule->command('stats:refresh')->hourly()->at(':12');
之类的方法,但没有成功。
【问题讨论】:
【参考方案1】:尝试类似$schedule->command('stats:refresh')->cron('15 0-23 * * * *')
Cron 使用 5 个星号作为参数。我提出了一个拉取请求,因为我认为 Laravel 文档中有一个错误: https://github.com/laravel/docs/pull/2166
但这是主要 Laravel 开发人员的回答:
有一个可选的第 6 个“年份”参数可用: http://www.nncron.ru/help/EN/working/cron-format.htm
如果您单击最后一个链接,您将看到六个星号中的哪一个的描述。
【讨论】:
【参考方案2】:你可以使用
$schedule->command('command')->cron('* * * * *')
从左到右的每一个星指的是
分钟 (0-59) 小时 (0-23) 一个月中的某天 (1-31) 月(1-12) 星期几(0 是星期日,6 是星期六)
请看: http://maxoffsky.com/code-blog/practical-laravel-using-cron-jobs-in-laravel/
【讨论】:
->cron()
使用 6 个星号。【参考方案3】:
@Alexey 应该是
$schedule->command('stats:refresh')->cron('15 0-23 * * *')
相反。如果将 15 0-23 添加到星号,则为 6 而不是 5。
【讨论】:
Laravel 似乎使用了 6 个星号。请阅读我更新的帖子。【参考方案4】:$schedule->command('command')->cron('15 * * * *')
【讨论】:
【参考方案5】:你可以这样做。
...
$schedule->command('your:command')->everyFiveMinutes();
...
希望对你有所帮助。
【讨论】:
以上是关于如何为每小时 15 分钟创建设置的 Laravel 时间表?的主要内容,如果未能解决你的问题,请参考以下文章
如何为每 30 分钟设置 @Scheduled 并使用参数调用 sa 方法?