aboutsummaryrefslogtreecommitdiffstats
path: root/mediagoblin/init/celery/__init__.py
diff options
context:
space:
mode:
Diffstat (limited to 'mediagoblin/init/celery/__init__.py')
-rw-r--r--mediagoblin/init/celery/__init__.py13
1 files changed, 13 insertions, 0 deletions
diff --git a/mediagoblin/init/celery/__init__.py b/mediagoblin/init/celery/__init__.py
index 57242bf6..2f2c40d3 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
from celery import Celery
@@ -58,6 +59,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.federation.task.garbage_collection',
+ 'schedule': datetime.timedelta(minutes=frequency),
+ }
+ }
+ celery_settings['BROKER_HEARTBEAT'] = 1
+
return celery_settings