diff options
author | Aurélien Bompard <aurelien@bompard.org> | 2015-12-04 15:15:11 +0000 |
---|---|---|
committer | Aurélien Bompard <aurelien@bompard.org> | 2015-12-04 15:15:15 +0000 |
commit | 62d9e34b8f6849328171676d1a464679b5ebc11c (patch) | |
tree | d4765c0ab4cd390fa85715cf267fb0f16aa00448 | |
parent | c3836dd00374be5093c362617eb4049b6ee8d37f (diff) | |
download | ansible-62d9e34b8f6849328171676d1a464679b5ebc11c.tar.gz ansible-62d9e34b8f6849328171676d1a464679b5ebc11c.tar.xz ansible-62d9e34b8f6849328171676d1a464679b5ebc11c.zip |
Add a cron job for Mailman 3
-rwxr-xr-x | roles/mailman/files/periodic.py | 23 | ||||
-rw-r--r-- | roles/mailman/tasks/main.yml | 8 | ||||
-rw-r--r-- | roles/mailman/templates/crontab-mailman3.j2 | 1 | ||||
-rw-r--r-- | roles/mailman/templates/crontab-webui.j2 (renamed from roles/mailman/templates/crontab.j2) | 0 |
4 files changed, 31 insertions, 1 deletions
diff --git a/roles/mailman/files/periodic.py b/roles/mailman/files/periodic.py new file mode 100755 index 000000000..73dcee08c --- /dev/null +++ b/roles/mailman/files/periodic.py @@ -0,0 +1,23 @@ +#!/usr/bin/python3 + +import os +import sys + +from mailman.core.initialize import initialize +from mailman.config import config +from mailman.interfaces.pending import IPendings +from mailman.interfaces.requests import IListRequests, RequestType +from zope.component import getUtility + + +def clean_pended(): + getUtility(IPendings).evict() + + +if __name__ == '__main__': + if os.getuid() == 0: + print("This script must be run as the mailman user", file=sys.stderr) + sys.exit(1) + initialize(config_path="/etc/mailman.cfg") + clean_pended() + config.db.commit() diff --git a/roles/mailman/tasks/main.yml b/roles/mailman/tasks/main.yml index 29eef4515..133b3d930 100644 --- a/roles/mailman/tasks/main.yml +++ b/roles/mailman/tasks/main.yml @@ -193,7 +193,12 @@ # Crontab # - name: set the hyperkitty crontab - template: src=crontab.j2 dest=/etc/cron.d/hyperkitty + template: src=crontab-webui.j2 dest=/etc/cron.d/hyperkitty + tags: + - config + - mailman +- name: set the mailman crontab + template: src=crontab-mailman3.j2 dest=/etc/cron.d/mailman3 tags: - config - mailman @@ -367,6 +372,7 @@ - pg-give-rights.py - post-update.sh - import-mm2.py + - periodic.py - name: copy the initial user fixture copy: src=postorius.initial-user.json diff --git a/roles/mailman/templates/crontab-mailman3.j2 b/roles/mailman/templates/crontab-mailman3.j2 new file mode 100644 index 000000000..5be2306c6 --- /dev/null +++ b/roles/mailman/templates/crontab-mailman3.j2 @@ -0,0 +1 @@ +42 * * * * mailman {{ mailman_webui_basedir }}/bin/periodic.py diff --git a/roles/mailman/templates/crontab.j2 b/roles/mailman/templates/crontab-webui.j2 index 380ffb5bf..380ffb5bf 100644 --- a/roles/mailman/templates/crontab.j2 +++ b/roles/mailman/templates/crontab-webui.j2 |