2015-04-22 4 views
0

У меня есть ряд повторяющихся заданий Hangfire, которые хорошо работают.Как программно выполнить ReccurringJob сразу?

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

Это мой запуск:

RecurringJob.AddOrUpdate<SendFilesJob>("SendFilesJob", j => j.Execute(), send_schedule); 

Я говорю пользователям, когда задание последнего запуска, и когда он будет работать дальше, например, так:

using (var connection = JobStorage.Current.GetConnection()) 
{ 
    foreach (var recurringJob in connection.GetRecurringJobs()) 
    { 
     //report LastExecution, NextExecution, LastJobState 
    } 
} 

Это также показывает, когда работа в настоящее время обрабатывая через LastJobState, что отлично.

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

BackgroundJob.Enqueue<SendFilesJob>(j => j.Execute()); 

Это работает, но он не перехватывает в повторяющейся отчетности ввода задания; поэтому пользователи не видят изменений в значениях LastJobState или LastExecution.

Есть ли способ получить доступ к самому RecurringJob и запустить его, чтобы он обновил эти значения?

ответ

 Смежные вопросы

  • Нет связанных вопросов^_^