diff options
Diffstat (limited to 'mediagoblin/init/celery')
-rw-r--r-- | mediagoblin/init/celery/__init__.py | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/mediagoblin/init/celery/__init__.py b/mediagoblin/init/celery/__init__.py index ffc7ca0e..c3cdd43c 100644 --- a/mediagoblin/init/celery/__init__.py +++ b/mediagoblin/init/celery/__init__.py @@ -16,6 +16,7 @@ import os import sys +import datetime import logging import six @@ -29,7 +30,9 @@ _log = logging.getLogger(__name__) MANDATORY_CELERY_IMPORTS = [ 'mediagoblin.processing.task', - 'mediagoblin.notifications.task'] + 'mediagoblin.notifications.task', + 'mediagoblin.submit.task', +] DEFAULT_SETTINGS_MODULE = 'mediagoblin.init.celery.dummy_settings_module' @@ -60,6 +63,18 @@ def get_celery_settings_dict(app_config, global_config, celery_settings['CELERY_ALWAYS_EAGER'] = True celery_settings['CELERY_EAGER_PROPAGATES_EXCEPTIONS'] = True + # Garbage collection periodic task + frequency = app_config.get('garbage_collection', 60) + if frequency: + frequency = int(frequency) + celery_settings['CELERYBEAT_SCHEDULE'] = { + 'garbage-collection': { + 'task': 'mediagoblin.submit.task.garbage_collection', + 'schedule': datetime.timedelta(minutes=frequency), + } + } + celery_settings['BROKER_HEARTBEAT'] = 1 + return celery_settings |