本文介绍了连续3次执行HangFire定期工作的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我已经设置了一个定期运行的作业,但现在我想在另外2个特定的时间重复执行.我该怎么办?
I have set a recurring job to run at this time but i would like to repeat it at 2 more specific times. How can i do it?
app.UseHangfireDashboard();
RecurringJob.AddOrUpdate<TerminaTurnos>(t => t.Termina(), Cron.Daily(22, 10), TimeZoneInfo.Local);
推荐答案
您可以创建3个递归作业(执行相同的作业)以在不同的时间执行,并为每个作业提供jobId参数:
You can just create 3 reccuring jobs (executing the same job) to execute on different times giving the jobId parameter for each of them:
RecurringJob.AddOrUpdate<TerminaTurnos>("job1", t => t.Termina(), Cron.Daily(18, 10), TimeZoneInfo.Local);
RecurringJob.AddOrUpdate<TerminaTurnos>("job2", t => t.Termina(), Cron.Daily(20, 10), TimeZoneInfo.Local);
RecurringJob.AddOrUpdate<TerminaTurnos>("job3", t => t.Termina(), Cron.Daily(22, 10), TimeZoneInfo.Local);
但是您也可以使用cron表达式来完成一项递归工作:
But you can also make one reccuring job with cron expression like:
RecurringJob.AddOrUpdate<TerminaTurnos>(t => t.Termina(), "10 18,20,22 * * *", TimeZoneInfo.Local);
它将执行作业at minute 10 past hour 18, 20, and 22.
这篇关于连续3次执行HangFire定期工作的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!