2017-02-05 29 views
0

Я хочу создать повторяющуюся работу с Hangfire, но я хочу, чтобы она задерживалась и начиналась с определенной даты.
Например, я создам задание, которое выполняет задачу каждую неделю, но я хочу, чтобы эта задача начиналась через 3 дня!Создать расписание (Задержка) Повторяющаяся работа с использованием hangfire в формах asp.net

После поиска я не мог прийти к чему-то, что может сделать как отложенную задачу, так и сделать ее повторяющейся в одно и то же время.

Я только начал использовать hangfire сегодня, поэтому у меня пока нет опыта использования.

ответ

1

замедленное воспламенение дает возможность создавать повторяющиеся задания таким образом:

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

Однако, как вы упомянули, что не позволяет перенести дату, когда начнется первое вхождение. Чтобы обойти эту проблему, я предлагаю использовать запланированное задание, чтобы создать повторяющуюся работу на более позднее время:

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

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

Это было первое, что попадалось на мой взгляд, но я думал, что там может быть что-то другое с помощью Api которые могут напрямую решить эту проблему! –

+0

@MuhammadNour Я думаю, что единственный другой вариант - создать повторяющуюся работу сразу и предотвратить выполнение непосредственно в 'myRecurringJob', но это довольно уродливо. Я не знаю, как это сделать в API –