【问题标题】:How to create set Laravel schedule for each hour 15 minutes?如何为每小时 15 分钟创建设置的 Laravel 时间表?
【发布时间】:2016-06-08 03:07:03
【问题描述】:

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

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

如何为它创建时间表?我尝试了$schedule->command('stats:refresh')->hourly()->at(':12'); 之类的方法,但没有成功。

【问题讨论】:

    标签: laravel laravel-5.2 laravel-scheduler


    【解决方案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();
        ...
        

        希望对你有所帮助。

        【讨论】:

          猜你喜欢
          • 2017-08-26
          • 2016-08-18
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2021-12-10
          相关资源
          最近更新 更多