Plonemon

by Mikko Ohtamaa last modified Feb 16, 2011 02:11 AM

Automatic restarter for Plone/Zope developers

Project Description

The goal of Plonemon is to ease the frustration of Plone developers to remove the need to manual Zope restart when there is changes in codebase. All advanced web frameworks, like Django, can do this and there was a time when Plone/Zope could do this also. Then we were smitten by the frustration with defunct automatic product refresh, long boot times, and XML file hell and Plone was fun no more.

Plonemon will detect changes in Plone/Zope codebase and restart Zope automatically accordingly. An audio file played depending on whether restart succeed or not, so you can do other tasks whilst Zope is restarting on background.

Features

  • Recursively detect changes in ZCML, XML and py files
  • Automatically restart Zope
  • Audio playback depending on whether the restart succeed or failed

Dependencies

  • PExpect for controlling the process
  • pygame for audio playback
  • pyinotify for monitoring files.

pyinotify relies on Linux kernel feature called inotify and thus this application only works on Linux currently. However, it should be trivial to port it for other platforms.

Usage

Checkout product from Plone Collective repository to your home folder:

svn checkout https://svn.plone.org/svn/collective/plonemon/trunk ~/plonemon

Install dependencies (Debian based Linux):

sudo apt-get install python-pexpect python-pyinotify python-pygame

Command line parameters are [zope instance controller script] [spaceless comma separated list of monitored folders]. Run:

python ~/plonemon/plonemon.py bin/instance parts

Work.

To abort press CTRL+C.

Current Release

No stable release available yet.

If you are interested in getting the source code of this project, you can get it from the Code repository .

All Releases

Version Released Description Compatibility Licenses Status

Comments (0)