4 ms·
Circus: A Process and Socket Manager
- jokull 14y agoReally 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. Anyone using this in production?
- tarekmoz 14y ago> I guess the idea here is to aggregate Circus events in a multiserver environment. Yeah that's the basis for it. We're planning to add a cross-server feature, so a single CLI can handle processes across several boxes transparently There's a branch but we've lacked of time to finish it yet. Soon I hope.
- drdaeman 14y agoWonder whenever it is capable of working with non-IP sockets (like AF_PACKET or AF_NETLINK)
- tdavis 14y agoCircus 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.
- mbq 14y agoAs far as socket reservation and auto-rebooting is concerned, systemd itself is a nice solution.
- lifeisstillgood 14y agoThis is something about keeping your abstractions simple. I had never really thought about the way I was running multiple process mgmt techniques. Interesting.