复杂的MuleSoft Cron时间表
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了复杂的MuleSoft Cron时间表相关的知识,希望对你有一定的参考价值。
我正在尝试安排一个应用程序每5分钟运行一次,M-F从早上6点到下午6点,每2个小时,M-F从下午6点到早上6点运行。固定轮询频率不允许这种级别的调度,所以我试图使用cron调度程序。
我将时区设置为America/Chicago
,将5M表达式设置为0 0/5 6-18 ? * 2-6
,并将2H表达式设置为0 0/120 18-23,0-6 ? * 2-6
。
根据Cron文档和MuleSoft文档,这应该正确设置并且应该工作,并且它在本地工作。当我将它发布到我们的VPC(US-EAST)时,我发现2H调度程序在白天工作到下午4点(中部时间),所以我将表达式更改为:
5M 0 0/5 0-12 ? * 2-6
2H 0 0/120 12-23 ? * 2-6
现在我的5M调度程序在凌晨2:15启动并运行到早上7点。
如何在VPC服务器上设置两个中央时区cron时间表,每隔5分钟运行6 am-6pm M-F,每2小时6 pm-6-M-F运行?
MuleSoft向我确认他们的VPC服务器是基于UTC的,无论您放置在cron scheduler / poll连接器上的时区如何。虽然不理想,但这意味着我需要将调度程序支持6个小时(以使它们达到中央时间)。我怀疑DST会导致时间表向一个方向移动一个小时。
This是学习Mule Quartz / Cron调度程序的好资源。还有一个Free Online cron调度程序格式化程序。
出于我的调度需求,我最终需要总共四个cron调度程序
0 0/5 12-23 ? * 2-6
- 每隔五分钟运行一次M-F,早上6点至下午5点55分(中央)。
0 0 0-11/2 ? * 3-6
- 运行T-F UTC,但实际上每两小时运行一次下午6点至凌晨4点的M-F。您只需要每隔两个小时运行应用程序到凌晨4点,并且五分钟的时间表将在早上6点开始。这里有两点需要注意。首先,为了适当地符文两小时你需要在小时槽上做/2
,而不是/120
。分钟槽只能处理0-59之间的值。其次,由于从UTC到Central的6小时差异,这些日期将在星期二开始。如果您在周一使用0-11(UTC)小时,应用程序实际上将在周日中部时间的下午6点开始。
这给我们带来了两个额外的时间表,一个是星期一(中央)上午12点到凌晨4点,另一个是星期五(中央)下午6点到12点。
0 0 6-11/2 ? * 2
- 周一上午12点至凌晨4点(中央)每两小时一次。
0 0 0-6/2 ? * 7
- 周五下午6点至12点(中央)每两小时一次。
以上是关于复杂的MuleSoft Cron时间表的主要内容,如果未能解决你的问题,请参考以下文章