Closed. This question is off-topic。它当前不接受答案。
想改善这个问题吗? Update the question,所以它是on-topic,用于堆栈溢出。
9个月前关闭。
在Apache Camel中,我将计时器组件配置为每15分钟触发一次作业。假设由于数据加载而完成工作超过15分钟的任何作业,由于我们已配置为每15分钟运行一次作业,因此该作业会受到下一个作业的影响。
表示该任务在启动后30秒内首次运行。此后,新任务将在上一个任务完成后60秒钟开始。任务永远不会重叠。
相反,
表示该任务在启动后30秒内首次运行。此后每60秒,无论任务运行多长时间,都会启动一个新任务。因此,在此设置中,任务可以重叠。
想改善这个问题吗? Update the question,所以它是on-topic,用于堆栈溢出。
9个月前关闭。
在Apache Camel中,我将计时器组件配置为每15分钟触发一次作业。假设由于数据加载而完成工作超过15分钟的任何作业,由于我们已配置为每15分钟运行一次作业,因此该作业会受到下一个作业的影响。
最佳答案
正如克劳斯(Claus)所说,Camel Timer component的选项fixedRate
对此进行控制。术语fixedRate
指的是Javas ScheduledExecutorService
的相同术语。
默认值为fixedRate=false
。这意味着计时器使用ExecutorService的fixed-delay execution
。例如
delay=30000&period=60000&fixedRate=false
表示该任务在启动后30秒内首次运行。此后,新任务将在上一个任务完成后60秒钟开始。任务永远不会重叠。
相反,
fixedRate=true
切换到ExecutorService的fixed-rate execution
。例如delay=30000&period=60000&fixedRate=true
表示该任务在启动后30秒内首次运行。此后每60秒,无论任务运行多长时间,都会启动一个新任务。因此,在此设置中,任务可以重叠。
10-07 13:20