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"