我想知道使用Hangfire来编写更新任务。我希望每次都能执行此任务。所以当任务结束时我想再次执行它。
我不知道使用的最佳方法是RecurringJob还是使用循环和BackgroundJob。
你推荐我什么?还有其他选择吗?
答案 0 :(得分:0)
您可以使用RecurringJob触发每x分钟或x小时(根据您的要求 - 可以设置CRON表达式),这将在每个此类间隔后触发任务/工作。这需要与DisableConcurrentExecution属性一起使用,以便不触发同一任务的多个实例,这个属性也确保一旦你的第一个实例完全,那么只会处理第二个实例。
或者,您可以使用BackGroundJob将任务/作业排入队列,但这只能处理作业一次。因此,您需要编写一些代码来检查此作业状态,并在第一个作业完成后再次重新排队相同的作业。在这种方法中,您需要编写一些代码来执行此操作。
我建议最好的方法是将RecurringJob.AddOrUpdate与DisableConcurrentExecution一起使用