summaryrefslogtreecommitdiff
path: root/Mailman/bin/master.py
Commit message (Collapse)AuthorAgeFilesLines
* Bite the bullet: rename the Mailman package to mailman.Barry Warsaw2008-02-271-411/+0
|
* Rework the master.py script and the master.txt doctest so that it's muchBarry Warsaw2008-02-271-99/+114
| | | | | | easier to test, and to use in other tests. Do this by moving most of the guts of master.py into a class that can be subclassed, and thus run in a subthread to avoid blocking the test. We don't need to sleep anymore.
* Add a test for mailmanctl and master.py. Also fix a bug in master where itBarry Warsaw2008-02-261-1/+2
| | | | wasn't waiting on all the children before it exited itself.
* Update mailmanctl for the new master.py script. Fortunately, we can simplifyBarry Warsaw2008-02-251-27/+29
| | | | | | | | | | | this considerably, since it now just checks the permissions, handles command parsing, and then just (in the child) execs master.py. master.py handles the log files, etc. Added 'BIN_DIR' to the configuration object. Remove references to instance.cfg in the comments; that was never implemented. I still need tests for both mailmanctl and master.
* Rework the basic infrastructure for qrunner process control. Split out theBarry Warsaw2008-02-251-0/+393
functionality of mailmanctl into a separate master watcher script. mailmanctl has not yet been updated but that'll happen next. Fix DELIVERY_MODULE to name a handler instead of a module. Change make_instance to use pkg_resources instead of module.__file__. Change the qrunner and master processes coordination so that the qrunners are not restarted on SIGINT, because otherwise C-c just doesn't work. Now SIGUSR1 is how we'll implement 'mailman restart'. Add a database commit so that initializing the schema doesn't lock the sqlite database. Also, don't try to initialize the schema if the tables already exist. Use some sqlite magic to do this test. Move mailman.cfg.in into a new package Mailman/extras inside the tree. Also, MAILMAN_UID and MAILMAN_GID should be integers not strings. Convert the command runner to use an IHandler instance instead of handler module. Similarly for the outgoing runner, DELIVERY_MODULE now names an IHandler instance instead of a handler module.