0
我使用Hangfire来触发数据库检索操作作为后台作业。Hangfire:如何有条件地排队工作
此操作只能发生一次,并且可以通过多种方式触发。 (例如,在用户拖拽工具时,在用户界面中,我需要在后台触发该工作,但如果拖放了其他工具,我不想触发后台作业,因为它已从预取数据库)。
这是我的代码看起来像现在:
var jobId = BackgroundJob.Enqueue<BackgroundModelHelper>((x) => x.PreFetchBillingByTimePeriods(organizationId));
我要的是某种形式的检查之前,我执行上面的语句,找到,如果后台作业已经被发射;如果是的话,那么不要再开火,如果没有,那么就排队。
例如:
bool prefetchIsFired = false;
// find out if a background job has already been fired. If yes, set prefetchIsFired to true.
if (!prefetchIsFired)
var jobId = BackgroundJob.Enqueue<BackgroundModelHelper>((x) => x.PreFetchBillingByTimePeriods(organizationId, null));
如果命名工作会自动覆盖旧的同名 –