2015-06-11 8 views
13

Я пытаюсь использовать Hangfire для запуска повторяющейся работы в фоновом режиме, которая опросает данные с другого веб-сайта, проблема в том, что я не хочу, чтобы повторяющаяся работа выполнялась, если предыдущее задание все еще выполняется ,Повторное задание одного экземпляра Hangfire

Я прочитал документацию, но не могу найти ответ. Есть ли способ иметь повторяющуюся работу, которая выполняется каждые 10 минут, но пропускает, если предыдущая задача еще не выполнена?

public void Configuration(IAppBuilder app) 
{ 
    app.MapSignalR(); 

    // Hangfire 
    GlobalConfiguration.Configuration 
     .UseSqlServerStorage("DatabaseContext"); 

    app.UseHangfireDashboard(); 
    app.UseHangfireServer(); 

    RecurringJob.AddOrUpdate("site-parser",() => SiteParserService.RunAll(), Cron.Minutely, TimeZoneInfo.Utc); 

    ConfigureAuth(app); 
} 
+0

ли вы имеете в виду последнее выполнение одной и той же повторяющейся задачи? –

ответ

0

Вот предложение: просто поставите задачу в качестве единственного экземпляра. Затем, если задание завершено успешно, вы выполняете последний шаг в задании. Заключительный шаг вашей работы будет стоять в очереди на выполнение задания за 10 минут.

Не будет ли предоставить вам необходимую функциональность?