Richard Jones' Log: Twisted makes its presence felt in our CVS repository

Wed, 18 Aug 2004

At the moment I'm working on scripts that manage our development / testing / demo / production Zope environments. In a nutshell, they:

  • Install / update code from CVS - either home-grown or 3rd-party managed by vendor_import.py - into dated directories,
  • Install / update Zope and/or ZEO servers configured to use the above code, with options to roll back to previous dated installs when updates go awry,
  • Manage Python Director sitting in front of the ZEO clients to manage balancing and seamless upgrades.

The dated installs, ZEO and pydirector stuff is the main thrust of my currentl development. I'm almost there... just getting the pydirector stuff going.

The pydirector web page lies - it requires Twisted. Until now, our CVS has been Twisted-free. I'm not saying that Twisted's evil or anything, just that our CVS repository just doubled in size. Ouch. Twisted, at 95Mb, takes up as much space as the next two biggest modules - PostgreSQL and Python (and we have revisions of those in there). Maybe I should've imported just the code version, and not the +docs version (which I included in case I need them one day). 95Mb of CVS space just so I can load-balance Zope ZEO clients.

Update:ah screw it, the docs die.

(I'll probably release this code when I'm done. The source installing stuff might not be of interest, but the Zope/ZEO/pydirector installing and management stuff might be...)

Comment by anthony baxter on Wed, 01 Sep 2004

Er, pythondirector can use _either_ twisted or asyncore. I recommend twisted as a more solid base, but the asyncore should still work.

The main problem with asyncore is that when it misbehaves, it's an absolute nightmare to debug.

Comment by Richard on Wed, 01 Sep 2004

That's what it says, but when I tried to use it without Twisted installed, I got an import error. I've not had time to look into how to make it not barf.