summaryrefslogtreecommitdiff
path: root/src/mailman/interfaces/runner.py
Commit message (Collapse)AuthorAgeFilesLines
* Handle PEP 475 fallout.Barry Warsaw2017-01-281-0/+13
| | | | | | | | | | | | | | | Closes #255 As of Python 3.5, PEP 475 gets in our way. Runners with long time.sleep()'s in their _snooze() method (e.g. the retry runner) will have their system call implemented time.sleep() automatically retried at the C layer. The only reliable way to prevent this is to raise an exception in the signal handler. The standard run() method automatically suppresses this exception, meaning, it's caught and ignored, but effectively breaks the run() loop, which is just what we want. The lmtp and rest runners implement their own run loops, so they also have to handle this exception, by ignoring it.
* Bump copyright years.Barry Warsaw2017-01-041-1/+1
|
* Use `atpublic` for @public instead of internal copy.Barry Warsaw2016-11-291-1/+1
|
* Import order flake8 plugin.Barry Warsaw2016-03-271-1/+1
| | | | Fix lots of import order errors discovered by the new plugin.
* Clean up the interfaces directory.Barry Warsaw2016-03-251-8/+3
|
* Happy New Year.Barry Warsaw2016-01-021-1/+1
|
* Bump copyright years.Barry Warsaw2015-01-041-1/+1
|
* Remove huge amounts of now unnecessary file boilerplate.Barry Warsaw2014-12-221-3/+0
|
* Use print functions consistently through, and update all __future__ imports toBarry Warsaw2014-04-281-1/+1
| | | | | | | | reflect this. Also, mock out sys.stderr on some tests so that their nose2 output is quieter. A few other minor coding style consistencies.
* Bump copyright years.Barry Warsaw2014-01-011-1/+1
|
* * `bin/runner` command has been simplified and its command line optionsBarry Warsaw2013-06-171-8/+9
| | | | | | | | | | | | | | | | | | | | | | | | reduced. Now, only one `-r/--runner` option may be provided and the round-robin feature has been removed. * Fixed REST server crash on `reopen` command. Identification and test provided by Aurélien Bompard. (LP: #1184376) Also: * bin/runner now uses standard argparse instead of ScriptOptions. * The entire bin/runner machinery has bee reorganized and simplified. There * is no more Loop class. Signal setting is moved directly into the base Runner class and overrided in specific subclasses (e.g. RESTRunner which must cleanly shutdown its TCPServer). The runner exit status is now set directly on the Runner instance. * Fixed a few minor style issues. * In order to cleanly shutdown the RESTRunner's WSGI server, we must start a subthread which only watches for an Event and then calls the server's shutdown() method. It has to be this way because the WSGI server itself (due to interactions with SQLite), and the signal handlers (due to Python's signal handling semantics) must both run in the main thread. However, the shutdown() must be invoked from a subthread in order to prevent deadlock. * Refactor the RESTLayer to eliminate duplication of code.
* add commentBarry Warsaw2013-05-301-0/+2
|
* * Non-queue runners should not create ``var/queue`` subdirectories. Fixed byBarry Warsaw2013-01-201-0/+4
|\ | | | | | | Sandesh Kumar Agrawal. (LP: #1095422)
| * Test added to non_queue_runner bugSandesh Kumar Agrawal2013-01-171-0/+4
|/
* Bump copyright years.Barry Warsaw2013-01-011-1/+1
|
* * When a queue runner gets an exception in its _dispose() method, aBarry Warsaw2012-05-111-0/+13
| | | | | | `RunnerCrashEvent` is triggered, which contains references to the queue runner, mailing list, message, metadata, and exception. Interested parties can subscribe to that `zope.event` for notification.
* copybumpBarry Warsaw2012-01-011-1/+1
|
* Major terminology shift:Barry Warsaw2011-06-011-22/+21
| | | | | | | | | | | | | | | | | * Queue runners are now called just 'Runners' since several of them don't manage queue directories. * Ban the term 'qrunner' too. * The master queue runner watcher should now just be called the 'master' or the 'master runner'. * bin/qrunner -> bin/runner * mailman.qrunner log file -> mailman.runner * master-qrunner.lck -> master.lck * master-qrunner.pid -> master.pid Also: * Remove some obsolete files * Begin the .txt -> .rst renaming
* Happy New Year.Barry Warsaw2011-01-011-1/+1
|
* Happy New Year.Barry Warsaw2010-01-011-1/+1
|
* Linux signal management appears to work differently than OS X. Introduce aBarry Warsaw2009-05-111-0/+8
| | | | | runner flag to indicate whether the qrunner parent process should intercept signals or not. The REST server should not intercept signals.
* Push the source directory into a 'src' subdirectory so that zc.buildout worksBarry Warsaw2009-01-251-0/+119
correctly regardless of how it's used.