job 的調度程序quartz爲什麼立即執行的問題

Problem

windows 服務每次啓動會立即執行那些服務

Solution

<trigger>

      <cron>

        <name>ProbationPositiveJobTrigger</name>

        <group>HR</group>

        <description></description>

        <job-name>ProbationPositiveJob</job-name>

        <job-group>HR</job-group>

        <!-- job首次啓動時間,不寫默認立即啓動-->

        <start-time>2013-10-15T17:29:20</start-time>

        <misfire-instruction>SmartPolicy</misfire-instruction>

        <!-- 每天1分同步一次-->

        <cron-expression>0 10 1 * * ?</cron-expression>

        <!--<time-zone>GMT+8</time-zone>-->

      </cron>

    </trigger>

 

我的服務的任務調度是基於quartz的SimpleTrigger,不是基於日曆的CronTriggers

所以有個start-time,這個時間要在<cron-expression>0 10 1 * * ?</cron-expression>裏的間隔時間之後纔不會立即觸發。所以如果是配置把這個start-time的時間設置爲這個調度執行的時間間隔第一次執行的時間之後,要麼就在代碼裏setCronExpression()以後,立即做trigger.setStartTime(new Date())也能解決。

Cron Expression生成表達式可以看:

 

參考資料:http://cron.qqe2.com/

https://blog.csdn.net/qq_16605855/article/details/78004698

https://www.iteye.com/problems/100386

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章