Really dig this project. Instead of having different projects implement multiprocess models to use multicore hardware, let Circus bind a socket and hand over the file descriptor for all processes. It means that instead of having Gunicorn or uWSGI run multliple processes, just run an efficient single process worker like gevent or meinheld, all managed by Circus.
The gain here is being able to use a single cli interface to manage processes. If you have used Heroku, you’ll know that you can increase the number of processes with a unified cli interface. Allows you to ramp up RQ workers and scale down the web processes, for example.
There are other features here, such as a pubsub channel for events. I guess the idea here is to aggregate Circus events in a multiserver environment.
Circus is awesome. In fact, this Mozilla team has made a bunch of very nice libraries available; with the latest project I'm working on, I use so many that I feel I practically work there.
The gain here is being able to use a single cli interface to manage processes. If you have used Heroku, you’ll know that you can increase the number of processes with a unified cli interface. Allows you to ramp up RQ workers and scale down the web processes, for example.
There are other features here, such as a pubsub channel for events. I guess the idea here is to aggregate Circus events in a multiserver environment.
Anyone using this in production?