News for hackers. Stuff that matters.
Re:HangFire – Reliable and transparent background job proces... by russ519 on Wednesday May 28, 2014 @11:01AM (#7810302)
This post could not have come at a better time! I literally spent the better part of yesterday researching best practices for queueing jobs from ASP.NET (WEB API) hosted on Windows Server, not Azure. I was considering NetMSMQ based WCF, Windows Service Bus 1.1, NServiceBus, MassTransit, ServiceStack, Windows Azure Pack, Redis or RabbitMQ hosting Worker Processes as Windows Services.

I had settled on the later as I wanted to avoid the complicated configuration of WCF, if possible, and just wanted a simple, reliable, and scalable way, to queue messages and process them. Ideally, I wanted a way to host/launch the worker processes from the web app to avoid complicating the development environment by having to install and run separate processes (Windows Service).

I will definitely be looking at this project today and putting it through a PoC.

Update: Forgot to mention ServiceStack in list of frameworks considered.

Re:HangFire – Reliable and transparent background job proces... by anton_gogolev on Wednesday May 28, 2014 @11:11AM (#7810361)
You will inevitably end up with a separate Windows service, mainly for maintanability reasons.
Re:HangFire – Reliable and transparent background job proces... by russ519 on Wednesday May 28, 2014 @11:29AM (#7810739)
I would love it if you would elaborate on this thought. Are you referring specifically to a solution build with Hangfire or any solution involving worker processes on Windows?
Re:HangFire – Reliable and transparent background job proces... by odinserj on Thursday May 29, 2014 @01:13PM (#7817294)
Why?
Re:HangFire – Reliable and transparent background job proces... by polskibus on Wednesday May 28, 2014 @08:21AM (#7809526)
I wonder how does it compare to Quartz.NET in terms of functionalities, reliability and scalability ? Has anyone used hangfire in production?
Re:HangFire – Reliable and transparent background job proces... by odinserj on Thursday May 29, 2014 @01:10PM (#7817280)
Quartz.NET is built around a scheduler, HangFire is built on top of message queues. If you want to off-load a task from the request processing pipeline, message queue is more preferable solution, because it can greatly reduce the latency of background job processing.
Re:HangFire – Reliable and transparent background job proces... by hokkos on Wednesday May 28, 2014 @01:42PM (#7811686)
I don't understand why polskibus comment is dead, has I had the same question. I wonder how does it compare to Quartz.NET ?
Re:HangFire – Reliable and transparent background job proces... by jamra on Wednesday May 28, 2014 @08:22AM (#7809530)
How is this any different than using MSMQ?
Re:HangFire – Reliable and transparent background job proces... by odinserj on Wednesday May 28, 2014 @12:51PM (#7811328)
HangFire provides you a unified programming model for background job processing on shared, dedicated and cloud hosting. It takes the complexity of background processing itself and lets you to concentrate only on background jobs.
Re:HangFire – Reliable and transparent background job proces... by rcarmo on Wednesday May 28, 2014 @08:44AM (#7809596)
Well, it looks like it might run inside Mono, for one.
Re:HangFire – Reliable and transparent background job proces... by odinserj on Wednesday May 28, 2014 @12:53PM (#7811340)
I didn't try to do so, but there is nothing to prevent HangFire to run on Mono. I also consider to support OWIN instead of System.Web for HangFire Dashboard, so Linux and MacOS will be supported.
Re:HangFire – Reliable and transparent background job proces... by jamra on Wednesday May 28, 2014 @11:22AM (#7810695)
So something like RabbitMQ would do exactly the same.
Re:HangFire – Reliable and transparent background job proces... by mattmanser on Wednesday May 28, 2014 @12:48PM (#7811313)
MSMQ is a colossal PITA to set up. As is RabbitMQ, etc.

I've wanted something like this for a very long time.