如何将日期添加到 HangFire 任务?例如,此代码添加 7 天:
BackgroundJob.Schedule(
() => Console.WriteLine("Reliable!"),
TimeSpan.FromDays(7));
但是如果我需要在特定日期运行任务怎么办?
如果年份无关紧要,您可以为此目的使用 cron 表达式。大多数默认的 cron 实现(如Hangfire使用的 NCrontab)不包括年份字段。
BackgroundJob.Schedule(
() => Console.WriteLine("Reliable!"),
"30 4 27 6 *");
这项工作将于每年6月27日凌晨4点30分执行。
正如开发人员在这里回答我的问题一样,您可以简单地使用日期而不是日期。
BackgroundJob.Schedule(
() => Console.WriteLine("Reliable!"),
new DateTime(2015, 08, 05, 12, 00, 00));
2015 年 5 月 8 日 00:00。
Jerry对 RecurringJobs 的回答是正确的
RecurringJob.Schedule(
() => Console.WriteLine("Reliable!"),
"00 00 05 8 *");
每年 05/08 00:00 运行
用于Cron.Yearly()
每年在特定日期时间运行一次:
// Will run on 4th of July @ 8 AM UTC every year
BackgroundJob.Schedule(
() => Console.WriteLine("Happy 4th of July!"),
Cron.Yearly(7, 4, 8, 0));