9

HangFire タスクに日付を追加するにはどうすればよいですか? たとえば、次のコードは 7 日を追加します。

BackgroundJob.Schedule(
    () => Console.WriteLine("Reliable!"), 
    TimeSpan.FromDays(7));

しかし、特定の日付にタスクを実行する必要がある場合はどうすればよいでしょうか?

4

3 に答える 3

6

年が重要でない場合は、この目的で cron 式を使用できます。ほとんどのデフォルトの cron 実装 ( Hangfire で使用される NCrontab など) には、年フィールドが含まれていません。

BackgroundJob.Schedule(
    () => Console.WriteLine("Reliable!"), 
    "30 4 27 6 *");

このジョブは、毎年 6 月 27 日の午前 4 時 30 分に実行されます。

于 2015-04-24T11:53:40.060 に答える
4

開発者がここで私の質問に答えたので、日の代わりに日付を使用できます。

BackgroundJob.Schedule(
    () => Console.WriteLine("Reliable!"), 
    new DateTime(2015, 08, 05, 12, 00, 00));

2015 年 5 月 8 日 00:00 の場合。

ジェリーの答えは RecurringJobs に当てはまります

RecurringJob.Schedule(
    () => Console.WriteLine("Reliable!"), 
    "00 00 05 8 *");

毎年 05/08 00:00 に実行されます

于 2015-08-06T16:07:35.940 に答える