Ian Bicking: the old part of his blog

Kludging with Supervisor

For some reason the Trac instance I have running under TracPaste crashes regularly. I suspect it's some problem with SQLite (3.2.8?), or Subversion, or something that leaks file descriptors.

My lame workaround is now in place using supervisor from Chris McDonough, a monitor (similar to daemontools) that will restart a process when it dies. (I could also have used daemontools itself, or zdaemon I suppose, I'm not sure what the best system will be.)

Here's the config I use:

<program trac>
  command /home/trac/bin/paster serve /home/trac/data/apps.ini
  auto-start true
  logfile /home/trac/var/paste-trac.log

I was able to install it locally to the user, but had to tweak things a little. Anyway, seems to work okay.

I still have to tweak the login screens, but the new installations of Trac now support (and require) Open ID authentication, using the support in Paste. You can get free Open ID signups, (videntity looks like the nicest) so the plan is to use those and not worry about any user database in the Trac installs themselves. You end up being identified as a URL as a result -- a more refined system would let you associate a real name and email address with the URL. But simple integration with Trac is much easier when there's no extra data. I'm also interested in videntity's hCard support, and maybe just relying on that.

Once I feel a little more comfortable with the system (and maybe even keep it from crashing constantly) I'll try to move to the instances I set up in trac.sqlobject.org and trac.formencode.org.

Created 03 Feb '06


Not the most helpful comment in the world, but there's also runit, which is basically a straight copy of daemontools but with some small tweaks (e.g., better usage messages), and a real license. It seems like a straight improvement to me.

# Nathaniel Smith

Thanks for the note; there's some good ideas in DJB's stuff, but the licensing and packaging hobbles it.

# Ian Bicking