From e52b9b040017e91783cf3c279de75dc2a5a159ad Mon Sep 17 00:00:00 2001 From: Jean-Marie Favreau Date: Sat, 23 Dec 2023 11:35:57 +0100 Subject: [PATCH] =?UTF-8?q?on=20met=20=C3=A0=20jour=20la=20t=C3=A2che=20po?= =?UTF-8?q?ur=20indiquer=20qu'elle=20est=20finie?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/agenda_culturel/celery.py | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/src/agenda_culturel/celery.py b/src/agenda_culturel/celery.py index 2bf5d8a..244d3a3 100644 --- a/src/agenda_culturel/celery.py +++ b/src/agenda_culturel/celery.py @@ -25,6 +25,17 @@ app.config_from_object("django.conf:settings", namespace="CELERY") # Load task modules from all registered Django apps. app.autodiscover_tasks() +def close_import_task(taskid, success, error_message): + from agenda_culturel.models import BatchImportation + + task = BatchImportation.objects.get(pk=taskid) + task.status = BatchImportation.STATUS.SUCCESS if success else BatchImportation.STATUS.FAILED + fields = ["status"] + if not success: + task.error_message = error_message + fields.append("error_message") + task.save(update_fields=fields) + @app.task(bind=True) def import_events_from_json(self, json, taskid): @@ -34,6 +45,12 @@ def import_events_from_json(self, json, taskid): # TODO + success = True + error_message = "" + + # finally, close task + close_import_task(taskid, success, error_message) + @app.task(bind=True) def import_events_from_url(self, source, browsable_url, taskid): @@ -43,5 +60,12 @@ def import_events_from_url(self, source, browsable_url, taskid): # TODO + success = True + error_message = "" + + # finally, close task + close_import_task(taskid, success, error_message) + + app.conf.timezone = "Europe/Paris"