0

我在 poll 中使用 cron-scheduler 来每天运行预定的作业。我的问题是,一旦应用程序启动并运行,这个轮询器就不会启动。在这里,我的要求是一旦应用程序第一次启动 Poll 就应该开始运行该作业。然后在它应该每天运行之后。目前在 CloudHub 上部署后,我必须通过进入部署在 CloudHub 上的应用程序内的调度程序手动“立即运行”调度程序。有什么选择吗?谢谢。

更新

<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> 
4

1 回答 1

1

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

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

于 2017-07-26T16:19:47.213 回答