【发布时间】:2021-10-11 06:27:48
【问题描述】:
我在为 Mule 调度程序作业创建 cron 表达式方面需要帮助。
场景:作业应在每个月的第 3 天至第 6 天运行,每 2 小时(当日)运行,这些天应为工作日(仅限周一至周五)。
我在 cronMaker 中尝试了以下 cron 表达式:0 0 7-20/2 3-5 * Mon-Fri * 上面的表达式出现错误。
请帮我解决这个问题。提前谢谢你。
【问题讨论】:
我在为 Mule 调度程序作业创建 cron 表达式方面需要帮助。
场景:作业应在每个月的第 3 天至第 6 天运行,每 2 小时(当日)运行,这些天应为工作日(仅限周一至周五)。
我在 cronMaker 中尝试了以下 cron 表达式:0 0 7-20/2 3-5 * Mon-Fri * 上面的表达式出现错误。
请帮我解决这个问题。提前谢谢你。
【问题讨论】:
如果您在实际的 Mule 应用程序中尝试相同的 cron 表达式 - 我使用 Mule 运行时 4.3- 使用 Scheduler 源,您将收到以下错误:
Support for specifying both a day-of-week AND a day-of-month parameter is not implemented.
这是调度程序在其实现中使用的 Quartz 库的限制。这意味着不可能在 Mule 调度程序或 Quartz Java 应用程序中使用这种 cron 表达式。
CronMaker 可能有相同的限制,但它没有显示完整的错误消息。
更新: 您可以通过仅使用其中一个条件来避免限制,例如日期(它将触发较少的激活),并在流程开始时添加一个带有条件的选项以使用DataWeave 表达式。如果日期不合适,您可以通过选择避免执行流程的其余部分。
据我所知,没有其他类似的流源组件。您可以尝试使用 Mule SDK 在 Java 中创建自己的。
【讨论】: