I am using Hangfire and like the software very much! But one thing I am missing is how to add a recurring job that executes every few minutes (e.g. every 15 minutes). Is there a way to achieve this?
Asked
Active
Viewed 3.8k times
33
-
3You can use this (http://www.cronmaker.com/) to generate cron expressions. And then (as per the accepted answer) you can call RecurringJob.AddOrUpdate(() => Console.Write("Recurring"), cronText); – Dilhan Jayathilake Apr 30 '17 at 04:22
4 Answers
79
Currently I am using this approach:
RecurringJob.AddOrUpdate(() => Console.Write("Recurring"), "*/15 * * * *");
And is working like a charm.
Reference to my question in Hangfire forums: http://discuss.hangfire.io/t/how-to-create-cron-job-that-is-executing-every-15-minutes/533

Nikolay Kostov
- 16,433
- 23
- 85
- 123
-
3Thanks for sharing the solution. Didn't know Hangfire accepted those cron expressions. – Jerry Jan 13 '15 at 09:03
-
2
-
2
-
3Unfortunately if you want to stagger your tasks i.e. not have them all run at once at 00:00, 00:15, 00:30 using this method it will not work. I still havent found a way around that – Jimbo Aug 16 '16 at 14:38
-
Can you please help me with this question :https://stackoverflow.com/questions/48422631/net-framework-to-manage-background-running-processess-on-seperate-machines – I Love Stackoverflow Jan 30 '18 at 11:44
-
7
We can also use the following code line to schedule job for every 15 minutes.
RecurringJob.AddOrUpdate(() => Console.Write("Recurring"), Cron.MinuteInterval(15));

Unheilig
- 16,196
- 193
- 68
- 98

Shantilal Suthar
- 107
- 1
- 8
-
5
-
how set the start time, for example, 8 am and schedule job for every 15 minutes? – A.R.SEIF Feb 13 '21 at 07:42
4
Looking at Hangfire.Cron class I don't know if it's possible.
A workaround would be to create four different schedules i.e:
RecurringJob.AddOrUpdate(
() => Console.WriteLine("Transparent!"),
Cron.Hourly(0));
RecurringJob.AddOrUpdate(
() => Console.WriteLine("Transparent!"),
Cron.Hourly(15));
RecurringJob.AddOrUpdate(
() => Console.WriteLine("Transparent!"),
Cron.Hourly(30));
RecurringJob.AddOrUpdate(
() => Console.WriteLine("Transparent!"),
Cron.Hourly(45));

Jerry
- 1,762
- 5
- 28
- 42