sync/worker.py (28 lines of code) (raw):

import celery from celery.schedules import crontab from celery.signals import after_setup_logger @after_setup_logger.connect def config_loggers(*args, **kwags): # This prevents celery reconfiguring the logging from . import log log.setup(force=True) beat_schedule = { # Try to retrigger anything we missed once a day 'retrigger': { "task": "sync.tasks.retrigger", "schedule": crontab(hour="8", minute="0"), }, # Try to cleanup once an hour 'cleanup': { "task": "sync.tasks.cleanup", "schedule": 3600, }, # Try to update metadata once a day 'update_bugs': { "task": "sync.tasks.update_bugs", "schedule": crontab(hour="9", minute="0"), } } worker = celery.Celery('sync', broker='pyamqp://guest:guest@rabbitmq', include=['sync.tasks']) worker.conf.beat_schedule = beat_schedule worker.conf.broker_transport_options = { "max_retries": 1, }