diff --git a/doc-ng/installation/modoboa.md b/doc-ng/installation/modoboa.md index 9175f85eb..ffee7dfe2 100644 --- a/doc-ng/installation/modoboa.md +++ b/doc-ng/installation/modoboa.md @@ -309,6 +309,19 @@ numprocs=1 stopsignal=TERM ``` +## Privileged worker +``` ini +[program:modoboa-privileged-worker] +autostart=true +autorestart=true +command= /manage.py rqworker privileged +directory= +user=root +redirect_stderr=true +numprocs=1 +stopsignal=TERM +``` + ## General worker ``` ini [program:modoboa-base-worker] diff --git a/doc-ng/installation/upgrade.md b/doc-ng/installation/upgrade.md index 1919f5653..131ec7f35 100644 --- a/doc-ng/installation/upgrade.md +++ b/doc-ng/installation/upgrade.md @@ -155,6 +155,13 @@ RQ_QUEUES = { 'HOST': REDIS_HOST, # [!code ++] 'PORT': REDIS_PORT, # [!code ++] 'DB': REDIS_QUOTA_DB, # [!code ++] + 'URL': REDIS_URL, # [!code ++] + }, # [!code ++] + 'privileged': { # [!code ++] + 'HOST': REDIS_HOST, # [!code ++] + 'PORT': REDIS_PORT, # [!code ++] + 'DB': REDIS_QUOTA_DB, # [!code ++] + 'URL': REDIS_URL, # [!code ++] }, # [!code ++] } ``` @@ -186,10 +193,10 @@ register( register(admin_jobs.handle_mailbox_operations, queue_name="dovecot", cron="* * * * *") register(admin_jobs.handle_dns_checks, queue_name="modoboa", cron="* * * * *") -register(maillog_jobs.logparser, queue_name="modoboa", cron="*/5 * * * *") +register(maillog_jobs.logparser, queue_name="privileged", cron="*/5 * * * *") register(maillog_jobs.update_statistics, queue_name="modoboa", cron="0 * * * *") -register(calendars_jobs.generate_rights, queue_name="modoboa", cron="*/2 * * * *") +register(calendars_jobs.generate_rights, queue_name="privileged", cron="*/2 * * * *") if "modoboa.amavis" in settings.MODOBOA_APPS: register(amavis_jobs.qcleanup, queue_name="modoboa", cron="0 0 * * *") diff --git a/modoboa/core/commands/templates/cron_config.py.tpl b/modoboa/core/commands/templates/cron_config.py.tpl index 611d7b349..1354230d2 100644 --- a/modoboa/core/commands/templates/cron_config.py.tpl +++ b/modoboa/core/commands/templates/cron_config.py.tpl @@ -20,10 +20,10 @@ register( register(admin_jobs.handle_mailbox_operations, queue_name="dovecot", cron="* * * * *") register(admin_jobs.handle_dns_checks, queue_name="modoboa", cron="* * * * *") -register(maillog_jobs.logparser, queue_name="modoboa", cron="*/5 * * * *") +register(maillog_jobs.logparser, queue_name="privileged", cron="*/5 * * * *") register(maillog_jobs.update_statistics, queue_name="modoboa", cron="0 * * * *") -register(calendars_jobs.generate_rights, queue_name="modoboa", cron="*/2 * * * *") +register(calendars_jobs.generate_rights, queue_name="privileged", cron="*/2 * * * *") if "modoboa.amavis" in settings.MODOBOA_APPS: register(amavis_jobs.qcleanup, queue_name="modoboa", cron="0 0 * * *") diff --git a/modoboa/core/commands/templates/settings.py.tpl b/modoboa/core/commands/templates/settings.py.tpl index 6cf6218e4..001b7682c 100644 --- a/modoboa/core/commands/templates/settings.py.tpl +++ b/modoboa/core/commands/templates/settings.py.tpl @@ -313,6 +313,13 @@ RQ_QUEUES = { 'DB': REDIS_QUOTA_DB, 'URL': REDIS_URL, }, + 'privileged': { + 'HOST': REDIS_HOST, + 'PORT': REDIS_PORT, + 'DB': REDIS_QUOTA_DB, + 'URL': REDIS_URL, + }, + } # CACHE