[Twisted-Python] process manager for twisted daemons?

Burak Arslan burak.arslan at arskom.com.tr
Thu May 4 07:58:20 MDT 2017


Hello,


On 05/04/17 02:21, jonathan vanasco wrote:
> Is anyone deploying their twisted services with something other than Supervisor?  If so, I'd love to know.

We're using djb's daemontools (with the -encore patchset) to manage our
twisted and non-twisted (C++) daemons. Two advantages:

1. Biggest advantage for us: cross-platform. Every Linux / BSD distro I
know of has daemontools supported. You won't have to depend on
systemd/openrc etc. Slightly related: http://cr.yp.to/compatibility.html

2. svc, daemontools' service manager is pretty straightforward to use.
See: https://cr.yp.to/daemontools/svc.html

3. Takes care of forking, logging, log rotation, etc. Can filter logs
based on a given regexp. Logs only stdout but if you do "exec 2>&1"
before starting your daemon, you'll get stderr too.

I also find it dead simple to integrate your app with daemontools. 
Examples and other advantages: https://cr.yp.to/daemontools/faq/create.html

The encore patchset (https://untroubled.org/daemontools-encore/) adds
stuff like "email me when the process is restarted". It's not strictly
needed as you can implement it in your run script but it's a nice-to-have.

I hope this helps.

Best,
Burak




More information about the Twisted-Python mailing list