【问题标题】:How do I write this Cron Expression?我如何编写这个 Cron 表达式?
【发布时间】:2015-08-11 10:37:50
【问题描述】:

我正在尝试为应在格林威治标准时间上午 9 点每 3 天运行一次的作业编写 cron 表达式。这就是我要写的

"0 0 9/72 ? * ?"

但我认为这是一个无效的 cron 表达式,因为我认为其中不能有两个问号。那么我应该如何为我的用例创建一个 cron 作业呢?

我不能放 *,因为那意味着 cron 必须每天运行,它不应该运行。

【问题讨论】:

  • 0 0 */3 0 0 会每隔 3 天给你一次,除非在月底。你想要的东西并不能用 cron 的选项来表达。更好的选择是只安排一次作业,然后让作业自行重新安排+3 天,而改用at...
  • @MarcB 我不认为它“不能用 cron 的选项来表达”。使用 cron 表达式似乎很安静。只有我找不到办法。
  • 你有固定的数字,你有/除数。 */3 会给你 3 天,但在月底​​,根据哪个月份,你会得到更短的间隔:1,4,...,[28/29/30/31 ]->1

标签: grails cron quartz-scheduler


【解决方案1】:

使用 grails 和quartz-scheduler,正确的语法应该是:

"0 0 9 */3 * ?"

【讨论】:

    【解决方案2】:
    0 9 */3 * * <Your Command>
    

    这将在每 3 天上午 9:00 运行一次作业。

    Cron Syntax.

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-11-06
      • 1970-01-01
      • 2011-07-15
      • 1970-01-01
      • 2015-08-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多