本文介绍了连续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定期工作的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-28 20:22