Cron-タイミングタスク


一般的なシステムには、受注システムなどのタイミングタスクが存在し、タイミングタスクに基づいて受注ステータス、トランザクションステータスなどをリアルタイムで同期します.定時タスクはQuartz定時タスクを使用することもできるし、自分でタスクスケジューリングシステムを書くこともでき、機能さえ実現できればよい.
次に、Quartzタイミングタスクの構成について簡単に説明します.3つのbeanを構成する必要があります.それぞれ、quartz、trigger、schedulerです.
quartz:ターゲットbeanとメソッドの構成
trigger:トリガ、quartzおよびcron式の構成、トリガタイミングの指定
scheduler:トリガをタスクスケジューリングに構成する
 


    
    
    


    
    
    


        
    
    
        false
    
    
        
            1
        
    

Cron式フォーマット:
Seconds | Minutes | Hours | DayofMonth | Month | DayofWeek | Year
年を空白にできます
Cron式特殊文字
特殊文字
意味
*
すべての値毎秒、毎分、毎時実行など
,
値を指定します.どの時点で実行するかを指定します.
-
範囲値;記号の両側にはそれぞれ1つの値があり、この2つの値の間の期間実行を示します.
/
開始値、付加価値;記号の左が開始値、右が付加価値で、指定された実際の時点とその後の増加毎の時点で実行されることを示します.
?
値を無視このフィールドを使用すると、このフィールドは考慮されません.
L
最後の値毎月の最終日、毎週の最終日
W
平日指定日の最近接営業日
#
DayofWeekフィールドでのみ使用できます.記号の左側は週数、右側は週数、週数を表します.
Cron式フィールド許容値
フィールド
範囲
Seconds
0-59
Minutes
0-59
Hours
0-23
DayofMonth
1-31
Month
1-12/JAN, FEB, MAR, APR, MAY, JUN, JUL, AUG, SEP, OCT, NOV, DEC
DayofWeek
1-7/SUN,MON,TUE,WED,THU,FRI,SAT(1は日曜日、その他の順延を表す)
Year
1970-2099/書かない
Cron式フィールドに特殊文字を許可
フィールド
特殊文字
Seconds
* , -/
Minutes
* , -/
Hours
* , -/
DayofMonth
* , -/L W ?
Month
* , -/
DayofWeek
* , -/L # ?
Year
* , -/
Cron式の例
*/10 * * * * ? 10秒ごとに0*/1***?0 0 5-10*を1分おきに実行します.毎日5-10時ちょうどに0 0 0/30**をトリガーしますか?30分ごとに0-5 14*をトリガーしますか?毎日午後2:01,2:02,2:03,2:04,2:05に0 0 0/5 15*をトリガします.毎日午後3時から午後3時55分までの間、5分ごとに0 0 0/5 14,16*をトリガーします.毎日午後2時から2時55分までの期間と午後4時から4時55分までの期間の5分ごとに0 0/30 9-17*をトリガーします.朝九晩五時間の勤務時間は30分ごとに0 10,14,16*?毎日午前10時、午後2時、4時
0 0 12 ? * WEDは毎週水曜日の昼12時0時17分を表しています.*TUES,THUR,SAT毎週二、四、六午後五時10、33 14?3 WEDは毎年3月の水曜日の午後2:10と2:33に0 15 10をトリガーしますか?*MON-FRI月曜日から金曜日までの午前10:15に0 0 22 L*をトリガーします.毎月の最終日22時に0 15 10 L*を実行しますか?毎月の最終日の午前10時15分に0 15 10?6 L毎月の最後の金曜日午前10時15分に0 15 10*をトリガーしますか?2020年の毎日午前10時15分に0 15 10?6 L 2020-2025 2020年から2025年までの毎月の最終金曜日午前10:15に0 15 10をトリガーしますか?*6#3毎月の第3金曜日午前10時15分にトリガー
“30 * * * * ?” 30分ごとにタスク「30 10**?」をトリガーします.1時間あたり10分30秒でタスク「30 10 1*?」をトリガー毎日1時10分30秒でタスク「30 10 1 20*?」をトリガーします.毎月20日1時10分30秒トリガータスク「30 10 1 20 10?*」毎年10月20日1時10分30秒トリガータスク「30 10 1 20 10?2011」2011年10月20日1時10分30秒トリガータスク「30 10 1?10*2011」2011年10月毎日1時10分30秒トリガータスク「30 10 1?10 SUN 2011」2011年10月毎週日1時10分30秒トリガータスク「15,30,45**?」15秒、30秒、45秒ごとにタスク「15-45***?」をトリガーします.15~45秒以内に、毎秒タスク「15/5***?」がトリガーされます.毎分15秒ごとにトリガが開始され、5秒ごとに「15-30/5***?」がトリガされます.毎分15秒から30秒の間にトリガが開始され、5秒ごとに「0 0 0/3**?」がトリガされます.毎時0分0秒から3分ごとに「0 15 10?*MON-FRI」月曜日から金曜日までの10時15分0秒にタスク「0 15 10 L*?」をトリガーします.毎月最終日の10時15分0秒にタスク「0 15 10 LW*?」をトリガーします.毎月最後の営業日の10時15分0秒トリガータスク「0 15 10?*5 L」毎月最後の木曜日の10時15分0秒トリガータスク「0 15 10?*5#3」毎月第3週目の木曜日の10時15分0秒トリガータスク