如何为每小时 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 方法?

使用熊猫创建每小时/每分钟时间范围

如何为 AWS 中的成本和使用数据启用每小时粒度?

如果我得到 15 分钟的间隔数据来预测每小时目标,我应该使用 15 分钟的数据还是聚合到 1 小时的数据进行训练?

如何为表格中的每一行创建一个删除按钮?