1

我需要每小时 15 分钟运行一些数据更新功能。例如:

  • 12:15
  • 13:15
  • 14:15
  • 15:15

如何为其创建时间表?我尝试了类似的东西,$schedule->command('stats:refresh')->hourly()->at(':12');但没有奏效。

4

5 回答 5

3

尝试类似的东西$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

如果单击最后一个链接,您将看到六个星号中的哪一个的描述。

于 2016-02-25T11:15:54.443 回答
1

您可以使用

$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/

于 2016-02-25T13:02:32.773 回答
1

你可以这样做。

...
$schedule->command('your:command')->everyFiveMinutes();
...

希望对您有所帮助。

于 2020-04-21T13:53:01.707 回答
0
$schedule->command('command')->cron('15 * * * *') 
于 2016-02-25T13:43:03.267 回答
0

@Alexey 应该是

  $schedule->command('stats:refresh')->cron('15 0-23 * * *') 

反而。如果将 15 0-23 添加到星号,则为 6 而不是 5。

于 2016-02-25T11:30:54.837 回答