mule - cron-scheduler 轮询

mule - cron-scheduler poll

我在轮询中使用 cron-scheduler 每天 运行 安排计划的工作。 我的问题是,这个轮询器不会在应用程序启动后立即启动 运行ning。 在这里,我的要求是一旦应用程序第一次启动,轮询就应该开始 运行ning 作业。然后在它应该 运行 每日基础之后。 目前在 CloudHub 上部署后,我必须通过进入部署在 CloudHub 上的应用程序内部的调度程序来手动 "Run Now" 调度程序。 还有其他选择吗?谢谢

更新

<quartz:connector name="QuartzConnector" doc:name="Quartz" validateConnections="true">
</quartz:connector>
<flow name="TestScheduleServiceFlow" >
    <quartz:inbound-endpoint jobName="QuartzScheduler" connector-ref="QuartzConnector" doc:name="QuartzInbound" repeatCount="10"  startDelay="0" cronExpression="0 0 12 * * ? *">
        <quartz:event-generator-job groupName="TestScheduler" jobGroupName="TestScheduler">
            <quartz:payload>This is a job scheduler that will write to file after every 10 seconds.</quartz:payload>
        </quartz:event-generator-job>
    </quartz:inbound-endpoint>
    <logger level="INFO" doc:name="Logger" message="This flow will be launched once at startup of the application"/>
</flow> 

如果您使用的是 Quartz 连接器,请将启动延迟添加为 startDelay="0"。这将在启动时触发您的流程。

对于轮询连接器,可以使用启动延迟作为 startDelay="0" 进行固定频率轮询,但如果您使用的是 Cron 计划,则没有直接选项。但是您可以编写另一个流程来使用带有 startDelay="0"repeatCount="0" 的 Quartz 连接器轮询来调用您的流程。这将确保您的流程在启动时触发并按照 cron 计划触发。