diff --git a/repoapi/celery.py b/repoapi/celery.py index ee0d06c..7fca54c 100644 --- a/repoapi/celery.py +++ b/repoapi/celery.py @@ -15,7 +15,6 @@ import os from celery import Celery -from celery.schedules import crontab from django_structlog.celery.steps import DjangoStructLogInitStep # set the default Django settings module for the 'celery' program. @@ -49,12 +48,3 @@ def process_result(jbi_id: str, path_envVars: str): "release_changed.tasks.process_result", args=[jbi_id, path_envVars], ) - - -@app.on_after_configure.connect -def setup_periodic_tasks(sender, **kwargs): - sender.add_periodic_task( - crontab(hour=7, minute=30, day_of_month=15), - "gerrit.tasks.cleanup", - args=[4], - ) diff --git a/repoapi/settings/common.py b/repoapi/settings/common.py index a4b62a6..68e7732 100644 --- a/repoapi/settings/common.py +++ b/repoapi/settings/common.py @@ -32,6 +32,7 @@ INSTALLED_APPS = [ "rest_framework_api_key", "drf_spectacular", "django_assets", + "django_celery_beat", "django_celery_results", "django_extensions", "django_filters", @@ -169,5 +170,6 @@ CELERY_TASK_SERIALIZER = "json" CELERY_RESULT_SERIALIZER = "json" CELERY_ACCEPT_CONTENT = ["application/json"] CELERY_RESULT_BACKEND = "django-db" +CELERY_BEAT_SCHEDULER = "django_celery_beat.schedulers:DatabaseScheduler" API_KEY_CUSTOM_HEADER = "HTTP_API_KEY" diff --git a/repoapi/settings/prod.py b/repoapi/settings/prod.py index 36fd6f5..a868500 100644 --- a/repoapi/settings/prod.py +++ b/repoapi/settings/prod.py @@ -161,6 +161,11 @@ CELERY_BEAT_SCHEDULE = { "schedule": crontab(hour=7, minute=30, day_of_week="sunday"), "args": (None, 1), }, + "gerrit-cleanup": { + "schedule": crontab(hour=7, minute=30, day_of_month=15), + "tasks": "gerrit.tasks.cleanup", + "args": (4), + }, } CELERY_TIMEZONE = "UTC"