2017-02-05 9 views
0

Hangfireで定期ジョブを作成したいが、遅延させて特定の日付に開始したい。
たとえば、毎週仕事をする仕事を作成しますが、3日後にこの仕事を開始します。スケジュール作成(遅延)asp.netフォームでhangfireを使用して定期的にジョブを実行する

検索した後、私は遅れた仕事とそれを繰り返すことができる何かに来ることができませんでした。

今日はハンギングを使い始めたばかりなので、まだそれを使用する経験はあまりありません。

答えて

1

Hangfireは、このように定期的な雇用を創出する可能性を提供しています:

RecurringJob.AddOrUpdate(
    () => myRecurringJob(), 
    Cron.Daily); 

しかしあなたはこれが最初の発生が開始される日を延期することはできません述べたように。この問題を回避するには、私は後であなたの定期的なジョブを作成するためにスケジュールされたジョブを使用することをお勧め:私の心に出くわした最初のものだったが、私は何か他のAPIを使用してがあるかもしれないと思った

BackgroundJob.Schedule(() => myRecurringJobCreation(), 
         new DateTimeOffset(new DateTime(2017,2,10))); 

//... 
public void myRecurringJobCreation() { 
    RecurringJob.AddOrUpdate(
     () => myRecurringJob(), 
     Cron.Daily); 
} 
+0

この問題に直接対処することができます! –

+0

@MuhammadNour唯一の他の選択肢は、すぐに繰り返しジョブを作成し、 'myRecurringJob'で直接実行を防ぐことですが、これはかなり醜いです。私はAPIでこれを達成するためのより良い方法を知らない –

関連する問題