【问题标题】:Preventing cronjobs from overlapping防止 cronjobs 重叠
【发布时间】:2012-12-04 03:50:51
【问题描述】:

我在 crontab 中设置了 3 个不同的作业(称它们为 jobA、jobB、jobC),它们以不同的时间间隔运行并在一天中的不同时间开始。例如,jobA 在每小时 5 分钟运行一次,jobB 在每小时 9 和 39 分钟运行一次,jobB 每 30 分钟运行一次,jobC 每 15 分钟运行一次。它们不相互依赖,但由于各种原因,它们不能同时运行。

问题是有时其中一个作业需要很长时间才能运行,而另一个作业在第一个作业完成之前就开始了,这会导致问题。

是否有某种方法可以对这些作业进行排队或假脱机,以便在当前运行的作业完成之前不会启动?我尝试使用this solution 但这并不能保证挂起的作业将按照它们应该开始的相同顺序恢复。队列最好,但我找不到任何有关如何执行此操作的信息。

【问题讨论】:

    标签: linux cron queue spool


    【解决方案1】:

    使用cron 无法做到这一点。 Cron 用于在特定时间运行特定命令。您可以通过您提出的解决方案来做到这一点,但这会增加很多复杂性。

    我建议,用像java 这样的高级语言编写/编码需求,并使用多线程程序来实现你所需要的。

    Control-m 是另一个调度软件,还有很多其他的功能。您将能够将上述用例集成到其中。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-29
      相关资源
      最近更新 更多