Execute a recurring job in Hangfire every 8 days

蓝咒 提交于 2019-12-21 03:47:18

问题


Is it possible to create a recurring job in Hangfire that executes after a given number of days, say 8.

The nearest I found was to execute a job once in a week -

RecurringJob.AddOrUpdate("MyJob",() => ScheduledJob(), Cron.Weekly());

Understanding that Hangfire also accepts standard CronExpression, I've tried exploring cron expression for this frequency but couldn't found one for it- https://en.wikipedia.org/wiki/Cron

One ugly solution could be to create 3 or 4 jobs that executes once in month at some dates accordingly, but I don't want to do that.

Any suggestions please.


回答1:


Finally I have used CronExpression like this to schedule a recurring job with frequency of every 8 days or for any number of days for that matter.

string cronExp = "* * */8 * *";
RecurringJob.AddOrUpdate("MyJob",() => ScheduledJob(), cronExp);

The third segment in CronExpression represents day of month.

The respective segments are as follows - (Ref: https://en.wikipedia.org/wiki/Cron)




回答2:


A more cleaner Solution will be to use Cron.DayInterval(interval).

For your case it will be

RecurringJob.AddOrUpdate("MyJob",() => ScheduledJob(), Cron.DayInterval(8));


来源:https://stackoverflow.com/questions/35168738/execute-a-recurring-job-in-hangfire-every-8-days

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!