Move the execution of the retention purge_jobs to the main worker (#13632)

Fixes #9927

Signed-off-by: Brad Murray brad@beeper.com
This commit is contained in:
Brad Murray 2022-08-26 03:38:10 -04:00 committed by GitHub
parent 978666a088
commit 967d7bad6c
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 3 additions and 4 deletions

1
changelog.d/13632.bugfix Normal file
View file

@ -0,0 +1 @@
Fix the running of MSC1763 retention purge_jobs in deployments with background jobs running on a worker by forcing them back onto the main worker. Contributed by Brad @ Beeper.

View file

@ -159,11 +159,9 @@ class PaginationHandler:
self._retention_allowed_lifetime_max = ( self._retention_allowed_lifetime_max = (
hs.config.retention.retention_allowed_lifetime_max hs.config.retention.retention_allowed_lifetime_max
) )
self._is_master = hs.config.worker.worker_app is None
if ( if hs.config.retention.retention_enabled and self._is_master:
hs.config.worker.run_background_tasks
and hs.config.retention.retention_enabled
):
# Run the purge jobs described in the configuration file. # Run the purge jobs described in the configuration file.
for job in hs.config.retention.retention_purge_jobs: for job in hs.config.retention.retention_purge_jobs:
logger.info("Setting up purge job with config: %s", job) logger.info("Setting up purge job with config: %s", job)