📅  最后修改于: 2020-11-12 05:03:32             🧑  作者: Mango
端点基本上包括在Mule应用程序的工作流程中触发或启动处理的那些组件。在Anypoint Studio中将它们称为Source ,在Mule设计中心将其称为Triggers 。 Mule 4中的一个重要端点是Scheduler组件。
该组件在基于时间的条件下工作,这意味着,只要满足基于时间的条件,它就使我们能够触发流程。例如,调度程序可以每10秒触发一次事件以启动Mule工作流程。我们还可以使用灵活的Cron表达式来触发Scheduler Endpoint。
在使用Scheduler事件时,我们需要注意以下一些要点-
调度程序端点遵循运行Mule运行时的计算机所在的时区。
假设如果Mule应用程序正在CloudHub中运行,则调度程序将遵循CloudHub工作程序在其中运行的区域的时区。
在任何给定时间,只能由调度程序端点触发的一个流处于活动状态。
在Mule运行时群集中,调度程序端点仅在主节点上运行或触发。
如上所述,我们可以将调度程序终结点配置为以固定间隔触发,也可以给出Cron表达式。
以下是设置调度程序以定期触发流的参数-
频率-它基本上描述了调度程序端点将以哪个频率触发M子流。可以从“时间单位”字段中选择时间单位。如果您没有为此提供任何值,它将使用默认值1000。另一方面,如果您提供0或负值,那么它也会使用默认值。
启动延迟-这是一旦启动应用程序,我们首次触发Mule流之前必须等待的时间。启动延迟的值以与频率相同的时间单位表示。默认值为0。
时间单位-它描述了频率和启动延迟的时间单位。时间单位的可能值为毫秒,秒,分钟,小时,天。默认值为毫秒。
实际上,Cron是用于描述时间和日期信息的标准。如果您使用灵活的Cron表达式来触发Scheduler触发,那么只要Quartz Cron表达式与时间日期设置匹配,Scheduler Endpoint就会跟踪每秒并创建一个Mule事件。使用Cron表达式,事件可以仅触发一次或定期触发。
下表给出了六个必需设置的日期时间表达式-
Attribute | Value |
---|---|
Seconds | 0-59 |
Minutes | 0-59 |
Hours | 0-23 |
Day of month | 1-31 |
Month | 1-12 or JAN-DEC |
Day of the week | 1-7 or SUN-SAT |
下面给出了Scheduler端点支持的Quartz Cron表达式的一些示例-
½* * * *? −表示调度程序每天每天2秒运行一次。
0 0/5 16 **吗? −表示调度程序每天从下午4点开始到下午4:55结束,每5分钟运行一次。
1 1 1 1,5 *? −表示调度程序每年运行一月的第一天和四月的第一天。
以下代码每秒记录一次消息“ hi”-