2016-12-12 1 views
0

私は探求し、石英のcron表現であることが見つかりました:それは実装されていないよう利用日

sec min hour day_of_month month day_of_week year, 

我々は、day_of_monthまたはday_of_weekではなく、それらの両方を提供することができますまだ。

two weeksの後にスケジューラを実行し、毎週月曜、金曜、午後12時にはスケジューラを実行したいのですが、これをどのように達成できますか。

提供する以下のcron式は動作しません。

* * 12 1/14 * MON, THU, FRI * 

我々は両方day_of_week and day_of_monthを提供することはできませんので。

他の方法や他のライブラリなどがあるかどうか教えてください。私はビジネスロジックではなく、cronexpressionを使って処理したくありません。

答えて

0

は、それが

またはhttp://www.corntab.com/?c=0_12__ _1,4,5

とあなたの質問のために、これはその表現

0 12 * * 1,4,5 

とためになります..あなたを助けるかもしれない、このサイトhttps://crontab.guru/を試してみてくださいご理解:

+---------------- minute (0 - 59) 
    | +------------- hour (0 - 23) 
    | | +---------- day of month (1 - 31) 
    | | | +------- month (1 - 12) 
    | | | | +---- day of week (0 - 7) (Sunday=0 or 7) 
    | | | | | 
    0 12 * * 1,4,5 command to be executed 

出力:あなたの中から、最初から月の7日に、あなたのプログラムを実行することを、

0 0 12 1-7,14-21 * MON,THU,FRI * 

意味:私の知る限り、このようなクエリを必要と理解されるように

“At 12:00 on Monday, Thursday, and Friday.” 
next at 2016-12-15 12:00:00 
then at 2016-12-16 12:00:00 
then at 2016-12-19 12:00:00 
then at 2016-12-22 12:00:00 
then at 2016-12-23 12:00:00 
..... 
+0

いいえ、実際にあなたから提供された表現は、1日、4日、5日のうちにジョブをスケジュールすることについてのみ指示します。私はそれがこのサイクルを4日ごとに繰り返すことを望む。 – user2118745

+0

@ user2118745いいえ。毎週月曜日、木曜日、12時には金曜日に運行しています。平日のカンマ区切りリスト(1,4,5)を付けました。これは毎週繰り返されます。 –

+0

@ user2118745まだ疑問が残っている場合は、それを明確にすることができます。それが問題を解決するのを助けたならば、答えを受け入れる。 –

0

週の曜日が月曜日、木曜日または金曜日の場合にのみ、月の14日から21日です。

ので、次の出現時間は次のようになります。

2016-12-19T12:00:00+01:00 
2017-01-02T12:00:00+01:00 
2017-01-05T12:00:00+01:00 
2017-01-06T12:00:00+01:00 
.... 

他の質問は、評価者が正しく、このようなクエリを処理できるならば、あなたはそれをチェックする必要があり、です。