2017-07-26 14 views
0

私はスケジュールされたジョブを毎日実行するために、ポーリングの内側でcron-schedulerを使用しています。 私の問題は、このポーラーはアプリケーションが起動してすぐに起動しないということです。&が実行中です。 ここで私の要件は、アプリケーションが初めて起動して初めてポーリングがジョブの実行を開始するはずです。その後、毎日実行する必要があります。 CloudHubにデプロイした後、私はCloudHubにデプロイされたアプリケーション内のスケジューラに入ってスケジューラを手動で実行する必要があります。 代替手段はありますか?ありがとう。mule-cron-scheduler poll

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スケジュールを使用している場合は直接オプションはありません。しかし、startDelay="0"repeatCount="0"のQuartzコネクタのポーリングを使用して、あなたのフローを呼び出す別のフローを書くことができます。これにより、起動時にフローがトリガされ、cronスケジュールに従ってトリガされます。

+0

お返事ありがとうございます。 私はあなたの提案を試みましたが、ポーリングは開始されていません。私は同じコードを追加しています。 –

+0

しかし、 "repeatInterval"属性を設定してもcron-scheduler&startDelay = "0"のままにして起動しないと、 –

関連する問題