We were looking for a way to make sure that Hangfire was running and it had servers active.
The response that comes from the URL /hangfire/stats could easily be setup to be polled against something like Pingdom that checks the response and looks for a given value in like “{“servers:count”:{“value”:“2”,“intValue”:0”
However the URL is not configurable to be publicly accessible.
How do you suggest we do this?
1 Like
I created a controller that did this:
public class MonitoringApiController : ApiController
{
[HttpGet]
public HttpResponseMessage HangfireStatus()
{
var monitor = Hangfire.JobStorage.Current.GetMonitoringApi();
var message = new HttpResponseMessage();
var response = Request.CreateResponse(HttpStatusCode.OK);
var workers = monitor.Servers();
response.Content = new StringContent($"{workers}");
return response;
}
}
This at leasts lets me know my worker servers are up and running. No i can ping this with a monitoring service to confirm i’m seeing the expected # of hangfire servers.