如何在HangFire任务中添加日期? 例如,此代码增加了7天:
BackgroundJob.Schedule(
() => Console.WriteLine("Reliable!"),
TimeSpan.FromDays(7));
但是如果我需要在特定日期运行任务呢?
答案 0 :(得分:5)
如果年份无关紧要,可以使用cron表达式。大多数默认的cron实现(如Hangfire使用的NCrontab)不包括年份字段。
BackgroundJob.Schedule(
() => Console.WriteLine("Reliable!"),
"30 4 27 6 *");
这项工作将于每年6月27日凌晨4点30分执行。
答案 1 :(得分:4)
当开发人员回答我的问题here时,您只需使用日期而不是日期。
RecurringJob.Schedule(
() => Console.WriteLine("Reliable!"),
"00 00 05 8 *");
2015年5月5日00:00。
Jerry's对于RecurringJobs
的回答是正确的x$datetime<-paste(x$date,x$Hour,x$Minute,sep=":")
每年将于05/08在00:00运行
答案 2 :(得分:0)
使用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));