我正在尝试安排一个应用程序每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 a 6 6pm-F和每2小时运行一次6 6pm 6 6pm-F?
发布于 2018-03-06 00:11:39
MuleSoft向我证实,他们的VPC服务器是基于协调时的,无论您在cron调度程序/轮询连接器上放置的时区是什么。虽然不是很理想,但这意味着我需要将调度器备份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到中环的时差为6小时,因此这几天将从周二开始。如果你在周一使用0-11小时(UTC),应用程序实际上会在周日中部时间下午6点启动。
这就给我们带来了两个额外的时间表,一个是在星期一(中部)捕获12am-4am,另一个是在周五(中部)捕获6点到12am。
0 0 6-11/2 ? * 2
-周一12am-4am (中部)每两小时运行一次。
0 0 0-6/2 ? * 7
-周五下午6点到12点(中部)每两个小时运行一次。
https://stackoverflow.com/questions/48932754
复制相似问题