如何创建每小时15分钟的Laravel套餐时间表?

时间:2016-02-25 11:13:11

标签: laravel laravel-5.2 laravel-scheduler

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

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

如何为它创建时间表?我试过像$schedule->command('stats:refresh')->hourly()->at(':12');这样的东西,但没有用。

5 个答案:

答案 0 :(得分:2)

尝试$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

如果您点击最后一个链接,则会看到六个星号中哪一个的说明。

答案 1 :(得分: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/

答案 2 :(得分:0)

@Alexey应该是

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

代替。如果你将15 0-23添加到你的星号,则它会产生6而不是5。

答案 3 :(得分:0)

$schedule->command('command')->cron('15 * * * *') 

答案 4 :(得分:0)

您可以这样做。

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

希望它能对您有所帮助。

相关问题