From 3dfb7fea91aaf5c72291e662ca7c589fc6929c7b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=89lie=20Bouttier?= Date: Fri, 23 Dec 2022 10:05:08 +0100 Subject: [PATCH] db.session.remove() in celery post run hook --- backend/geonature/celery_app.py | 1 + backend/geonature/tasks/__init__.py | 9 +++++++++ 2 files changed, 10 insertions(+) create mode 100644 backend/geonature/tasks/__init__.py diff --git a/backend/geonature/celery_app.py b/backend/geonature/celery_app.py index de70b720c8..d614ba1354 100644 --- a/backend/geonature/celery_app.py +++ b/backend/geonature/celery_app.py @@ -14,6 +14,7 @@ def __call__(self, *args, **kwargs): app.Task = ContextTask +app.conf.imports += ("geonature.tasks",) app.conf.imports += tuple( [ep.module for dist in iter_modules_dist() for ep in dist.entry_points.select(name="tasks")] ) diff --git a/backend/geonature/tasks/__init__.py b/backend/geonature/tasks/__init__.py new file mode 100644 index 0000000000..5d4f5354b8 --- /dev/null +++ b/backend/geonature/tasks/__init__.py @@ -0,0 +1,9 @@ +from celery.signals import task_postrun + +from geonature.utils.env import db +from geonature.utils.celery import celery_app + + +@task_postrun.connect +def close_session(*args, **kwargs): + db.session.remove()