From c16a874ebd8f495db52610dbd3a2eb9664d34218 Mon Sep 17 00:00:00 2001 From: denis defolie Date: Fri, 1 May 2026 08:34:50 +0200 Subject: [PATCH] export final --- test_tube_scanner/scanner/models.py | 6 ------ test_tube_scanner/scanner/tasks.py | 18 +++++++++++------- 2 files changed, 11 insertions(+), 13 deletions(-) diff --git a/test_tube_scanner/scanner/models.py b/test_tube_scanner/scanner/models.py index 45054af..2bacc67 100644 --- a/test_tube_scanner/scanner/models.py +++ b/test_tube_scanner/scanner/models.py @@ -37,12 +37,6 @@ CAPTURE_TYPE = [ ('webcam', _("Webcam")), ('file', _("mp4")), ] - - -class TaskID(models.Model): - code = models.CharField(unique=True, max_length=64, null=True, blank=False) - task_id = models.CharField(max_length=250, null=True, blank=False, default="") - class Configuration(models.Model): name = models.CharField(_("Nom de la Configuration"), help_text=_("Nom de la configuration"), max_length=100, null=True, blank=False, default=_("Configuration par défaut")) diff --git a/test_tube_scanner/scanner/tasks.py b/test_tube_scanner/scanner/tasks.py index 5e47961..2260801 100644 --- a/test_tube_scanner/scanner/tasks.py +++ b/test_tube_scanner/scanner/tasks.py @@ -7,7 +7,8 @@ from django.utils import timezone from .process import ScannerProcess, ReplayProcess, redisDB from .export_tasks import shm_download_video, export_images_zip, export_video_mp4 -from . import models +from .constants import ScannerConstants +from . import models logger = get_task_logger(__name__) @@ -48,16 +49,18 @@ def export_images( @shared_task def export_all_images(session_id=None): try: - conf = models.Configuration.objects.filter(active=True).first() + conf = ScannerConstants().get() + if session_id is None: sessions = [s.id for s in models.Session.objects.filter(active=False)] else: sessions = [session_id] - for session_id in sessions: - uuid_list = models.SessionExperiment.uuid_from_session(session_id) + for session_id in sessions: + uuid_list = models.SessionExperiment.uuid_from_session(session_id) job_zip = [] for uuid in uuid_list: + job = export_images.delay( # @UndefinedVariable uuid, start_ts=None, @@ -89,7 +92,7 @@ def export_videos(uuid: str, @shared_task def export_all_videos(session_id=None): try: - conf = models.Configuration.objects.filter(active=True).first() + conf = ScannerConstants().get() if session_id is None: sessions = [s.id for s in models.Session.objects.filter(active=False)] else: @@ -99,6 +102,7 @@ def export_all_videos(session_id=None): uuid_list = models.SessionExperiment.uuid_from_session(session_id) job_mp4 = [] for uuid in uuid_list: + job = export_videos.delay( # @UndefinedVariable uuid, start_ts=None, @@ -129,7 +133,7 @@ def run_session_exports(self, session_id: str): session.status = models.Session.Status.RUNNING session.save(update_fields=["export_status"]) - + logger.info(f"run_session_exports [{session_id}]: export démarré") chord( group( export_all_images.s(session_id), @@ -154,7 +158,7 @@ def on_exports_done(results: list, session_id: str): logger.error(f"on_exports_done [{session_id}]: échec avec {len(errors)} erreurs") else: session.export_status = models.Session.Status.DONE - logger.info(f"on_exports_done [{session_id}]: succès export terminé") + logger.warning(f"on_exports_done [{session_id}]: succès export terminé") session.export_exported_at = timezone.now() session.save(update_fields=["export_status", "export_exported_at"])