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
本身並啓動它,以便它更新這些值?