HangFire 在 3 个给定时间重复执行作业

Jac*_*kal 1 c# hangfire asp.net-core

我已经设置了一个要在此时运行的重复作业,但我想在另外 2 个特定时间重复它。我该怎么做?

app.UseHangfireDashboard();

RecurringJob.AddOrUpdate<TerminaTurnos>(t => t.Termina(),  Cron.Daily(22, 10), TimeZoneInfo.Local);
Run Code Online (Sandbox Code Playgroud)

Xar*_*ord 5

您可以创建 3 个重复作业(执行同一作业)以在不同时间执行,并为每个作业提供 jobId 参数:

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);
Run Code Online (Sandbox Code Playgroud)

编辑:

但您也可以使用 cron 表达式进行一项重复作业,例如:

RecurringJob.AddOrUpdate<TerminaTurnos>(t => t.Termina(), "10 18,20,22 * * *", TimeZoneInfo.Local);
Run Code Online (Sandbox Code Playgroud)

它将执行该作业at minute 10 past hour 18, 20, and 22.