From 6fb70e82a3310adabdaa23e682d47fec1f210711 Mon Sep 17 00:00:00 2001 From: i701 Date: Sat, 5 Jul 2025 14:32:57 +0500 Subject: [PATCH] =?UTF-8?q?feat(tasks):=20integrate=20procrastinate=20app?= =?UTF-8?q?=20and=20configure=20on=5Fapp=5Fready=20callback=20=E2=9C=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- api/tasks_app.py | 14 ++++++++++++++ apibase/settings.py | 7 ++----- 2 files changed, 16 insertions(+), 5 deletions(-) create mode 100644 api/tasks_app.py diff --git a/api/tasks_app.py b/api/tasks_app.py new file mode 100644 index 0000000..eb801db --- /dev/null +++ b/api/tasks_app.py @@ -0,0 +1,14 @@ +# projects/tasks_app.py +from procrastinate import App +from procrastinate.contrib.django import django_connector + +app = App( + connector=django_connector.DjangoConnector(), + periodic_defaults={"max_delay": 86400}, # accept up to 24h delay +) + + +def on_app_ready(app): + app.periodic_defaults = {"max_delay": 86400} + app.import_paths.append("api.tasks") + app.import_paths.append("billing.tasks") diff --git a/apibase/settings.py b/apibase/settings.py index a9bc9ca..80bda73 100644 --- a/apibase/settings.py +++ b/apibase/settings.py @@ -371,8 +371,5 @@ PASSWORDLESS_AUTH = { } -# CELERY CONFIGURATION -CELERY_BROKER_URL = f"redis://{REDIS_HOST}:6379/0" -CELERY_ACCEPT_CONTENT = ["json"] -CELERY_TASK_SERIALIZER = "json" -CELERY_RESULT_BACKEND = f"redis://{REDIS_HOST}:6379/0" +PROCRASTINATE_ON_APP_READY = "api.tasks_app.on_app_ready" +PROCRASTINATE_APP = "api.tasks_app.app"