FRiCKLE Labs & MegiTeam pres. ngx_supervisord

Piotr Sikora piotr.sikora at
Thu Oct 29 04:33:52 MSK 2009

I'm proud to present a module, already mentioned on the list a few days ago 
by Grzegorz Nosek, that provides nginx with API to communicate with 

Initial release adds the ability to START and STOP backends (or any 
programs) on demand. If supervisord's [program:backend0] entry is configured 
with "startsecs" parameter, then supervisord (and ngx_supervisord) will wait 
that time before returning successful or failed status. This is of course 
done in asynchronous way, so it doesn't halt nginx for a moment.

This simple feature, combined with load-aware load balancers (like Grzegorz 
Nosek's nginx-upstream-fair) can offer very powerful features (starting 
first backend when the first request arrives, starting/stopping backends on 
demand, depending on the load, etc, etc). Patch for nginx-upstream-fair is 
included in the release and it shows how easy all of this can be achieved.

Current version allows only one module to "register" its monitors with 
ngx_supervisord, but as soon as there will be need for more (read: other 
modules will start using ngx_supervisord), this will be changed without any 
changes in the API.

If something is unclear, just ask.

This module was fully funded by

For more information, API specification & download please visit:

Best regards,
Piotr Sikora < piotr.sikora at >

More information about the nginx mailing list