2017-07-26 87 views
0

我在轮询中使用cron-scheduler来每天运行计划任务。 我的问题是,只要应用程序启动&正在运行,此轮询器不会立即启动。 在这里,我的要求是应用程序第一次启动投票应该开始运行的工作。然后,它应该每天运行。 目前在CloudHub上部署之后,我必须手动运行调度程序,方法是转到部署在CloudHub上的应用程序内部的调度程序。 还有其他的选择吗?谢谢。mule - cron-scheduler民意调查

UPDATE

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

回答

1

如果您使用的石英连接器添加启动延迟startDelay="0"。这会在启动时触发你的流程。

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

+0

感谢您的回复。 我试着用你的建议,但投票没有开始。我为此添加了一个代码。 –

+0

然而,当我们设置“repeatInterval”属性时它的工作,但它通过保持cron-scheduler&startDelay =“0”而不启动 –