42432


JavaEEアプリケーションの定期バッチ処理を実装するために、QuartzSchedulerを使っています。  
[Cron Trigger Tutorial](http://www.quartz-
scheduler.org/documentation/quartz-2.x/tutorials/crontrigger.html)を見ているのですが、次のようなcronの組み方が分かりません。

例1：毎日、12:30～14:30の間、5分毎に実行  
例2：毎日、22:00～5:00までの間、5分毎に実行

これが12:00～14:00だったら、`* 0/5 12-14 * *
?`と書けばできるのですが、時だけでなく分までを絡めたり、日をまたいだりした場合の範囲指定の方法が分かりません。

トリガーを分割して登録するしかないのでしょうか？  
分割したとしても、まだ書き方が分からない部分がありますが・・・

例1の場合:

[code]

    12:30-12:59 -> "* 30/5 12 * * ?"
    13:00-13:59 -> "* 0/5 13 * * ?"
    14:00-14:30 -> どうやって書く？
    
[/code]

例2の場合:

[code]

    22:00-23:59 -> "* 0/5 22-23 * * ?"
    00:00-05:00 -> "* 0/5 0-5 * * ?"
    
[/code]


CC BY-SA 3.0
2018-03-16T05:37:44.600
42430
2018-03-16T06:30:06.573
2018-03-16T05:46:10.077
8078
8078
question
java
QuartzSchedulerである時間帯だけ５分毎に実行するcronを書きたい


例1：毎日、12:30～14:30の間、5分毎に実行  
12:30が1回目、14:30が25回目で計25回実行

もし、 Quartz Job Schedulerで 一般的な crontab の記法が使えるならば以下のように書くことができるかと思います。

[code]

    12:30-12:59 -> "0 30-59/5 12 * * ?"
    13:00-13:59 -> "0 0/5 13 * * ?"
    14:00-14:30 -> "0 0-30/5 14 * * ?"
    
[/code]

もしできないのであれば以下のように実行したい「分」を列挙すれば可能かと思います。  
(意外とこちらの方が処理時間がわかりやすいかもしれません。)

[code]

    12:30-12:59 -> "0 30,35,40,45,50,55 12 * * ?"
    13:00-13:59 -> "0 0/5 13 * * ?"
    14:00-14:30 -> "0 0,5,10,15,20,25,30 14 * * ?"
    
[/code]

例2:毎日、22:00～5:00までの間、5分毎に実行  
22:00が1回目、05:00が85回目で合計85回実行

質問文の書かれた記述だと 05:05 ～ 05:55 の11回余分に実行してしまうかと思われます。

[code]

    22:00-23:59 -> "0 0/5 22-23 * * ?"
    00:00-04:59 -> "0 0/5 0-4 * * ?"
    05:00       -> "0 0 5 * * ?"
    
[/code]

Quartz Job Scheduler で確認したわけではないため、参考までにどうぞ。


CC BY-SA 3.0
2018-03-16T06:30:06.573
42432
2018-03-16T06:30:06.573
27410
42430
answer