2017-10-11 9 views
0

5日間に1回実行するcron式を特定しようとしています。これは特定の日から35日間です。私は石英を使って直接解決策を見つけることができませんでした。クォーツcron式を5週間ごとに実行する(35日間)

LINK HERE

誰かが助言することはできますか?

+0

「特定の日から」とはどういう意味ですか?いくつか例を挙げていただけますか? – LHCHIN

+0

これをチェックできますか\t 0 0 12 1/35 *? * http://www.cronmaker.com/ –

+0

を使用してcronを生成することができます。月の第1日になるようにします。 – TomJava

答えて

0

これには直接的な解決策はありません。解決後

がお手伝いします:

は、次の発射時刻のミリ秒* _JOB_DETAILSテーブルjob_data列データを作成し、cronを以下の石英でジョブを作成します。

It will run every week(You can make this every day also). 
0 0 12 ? * MON * 

Quartzジョブは、毎週(月曜日の午前12時)にjavaアプリケーションを呼び出します。ビジネスロジックでjob_dataを現在の時刻でチェックします。それがあなたのロジックを実行することを超える場合は、何もしないでください。ロジック更新を実行した後、JOB_DATAの時間がそれ以下になると、次のトリガ時間がjob_dataに格納されます。

Calendar c=new GregorianCalendar(); 
c.add(Calendar.DATE, 35); 
c.getTime();//add this data 

期待どおりの結果が得られます。

+0

これは、毎月35日ごとに行われるのではありません。 – TomJava

0

Puchaczによると、cron式はこれらの種類のスケジュールには適していません。週繰り返し間隔単位ではCalendarIntervalTrigger、繰り返し間隔では5を使用する必要があります。コードによると、Quartzではcronとカレンダの間隔トリガの使用にほとんど違いはありません。

2017年11月1日午前0時に発砲を開始するCalendarIntervalTriggerのスケジュールの例については、以下を参照してください。開始時間を変更すると、ジョブを開始する時刻を調整できます。

+0

これに基づいてサンプルプログラムのリンクがいくつかありますか? – TomJava

+0

Googleを使用してCalendarIntervalTriggerのサンプルやサンプルを検索してみませんか?2番目のリンク(https://www.programcreek.com/java-api-examples/index.php?api=org.quartz.CalendarIntervalTrigger)を使用できます。 –

+0

ありがとう!しかし、私はこのコードが書かれている方法を関連付けることができませんでした。 – TomJava

関連する問題