I want to provide the complex solution for background job processing inside ASP.NET application without requirement to deploy additional Windows Services. I want this to keep things simple, especially for early stage of application development. At the same time, as an application developer, I want to be able to scale things later witout need complete rewrite of all source code.
Current state
The current state of project is the Development version. I could say that it is stable enough background job processing system, but it is my opinion only. To be able to say it, I should be assured by other users (including you :)).
There are also some features that prevents the project to go to production mode, and release the version 1.0:
No polling for SQL Server (with MSMQ #85 or Service Broker #52).
The absense of these features leads to incomplete background job lifecycle. All of them have workarounds, but they require more understanding, and they should be simpler and available out of the box.
Roadmap
Full documentation for product and its API.
More tutorials and articles that describe the features and use cases.
Recurring jobs support to fully cover all background needs.
Support for other job storages, including Microsoft Azure Storage.
Make it easier to maintain jobs, even on large-scale systems.
Deliver the solution to the 90% of ASP.NET developers
and i can say on my side that i am using Hangfire now for some Email sending and Video processing background jobs and it runs fine, of course there are some things need to be there as you mentioned above, but settin behind my keyboard and just talking while someone is doing the real work here is just shameful i wish i could help more.
Wow, video processing! Can you say me the average time of video jobs processing? I realize that it is very high, isn’t it?
If you want to help the project, it is awesome! And you can start with “jump in” issues. They are not relatively hard, but still useful. You can read more about such issues here.
yeah i am using it for video processing, usually the processing for each file takes between 20 seconds to 3 minutes, and hangfire works perfectly, and the only job failure i see in monitor is when the video conversion itself fails and throws an exception, so no issues with Hangfire yet.
i am still waiting to finish this application and take it online to see real life test. and will let you know for sure
Hi @odinserj - just to let you know I am going to possibly be using HangFire to provide an out of box solution for some long runnning WebService calls from my ASP.NET MVC 5 application. I was going to use the new QueueBackgroundWorkItem feature of .NET 4.5.2 but from reading lots of Blog posts it does not seem to be the best type of solution. Will keep you posted on progress and I may have lots of questions on the forum as I get Building
Just install HangFire and use it It is a reliable replacement of the QueueBackgroundWorkItem method. Please, don’t hesitate to ask any questions related to background job processing here.
Btw, what kind of background processing do you want to perform?
trust me after i had the privilege to talk with him on many aspects of background processing, he knows exactly what he is talking about, and i firmly believe that hangfire, will get more and more features in the near future and more and more people will start to say how come we did not see this Gem before.