export final
This commit is contained in:
@@ -37,12 +37,6 @@ CAPTURE_TYPE = [
|
|||||||
('webcam', _("Webcam")),
|
('webcam', _("Webcam")),
|
||||||
('file', _("mp4")),
|
('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):
|
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"))
|
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"))
|
||||||
|
|||||||
@@ -7,7 +7,8 @@ from django.utils import timezone
|
|||||||
|
|
||||||
from .process import ScannerProcess, ReplayProcess, redisDB
|
from .process import ScannerProcess, ReplayProcess, redisDB
|
||||||
from .export_tasks import shm_download_video, export_images_zip, export_video_mp4
|
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__)
|
logger = get_task_logger(__name__)
|
||||||
|
|
||||||
@@ -48,16 +49,18 @@ def export_images(
|
|||||||
@shared_task
|
@shared_task
|
||||||
def export_all_images(session_id=None):
|
def export_all_images(session_id=None):
|
||||||
try:
|
try:
|
||||||
conf = models.Configuration.objects.filter(active=True).first()
|
conf = ScannerConstants().get()
|
||||||
|
|
||||||
if session_id is None:
|
if session_id is None:
|
||||||
sessions = [s.id for s in models.Session.objects.filter(active=False)]
|
sessions = [s.id for s in models.Session.objects.filter(active=False)]
|
||||||
else:
|
else:
|
||||||
sessions = [session_id]
|
sessions = [session_id]
|
||||||
|
|
||||||
for session_id in sessions:
|
for session_id in sessions:
|
||||||
uuid_list = models.SessionExperiment.uuid_from_session(session_id)
|
uuid_list = models.SessionExperiment.uuid_from_session(session_id)
|
||||||
job_zip = []
|
job_zip = []
|
||||||
for uuid in uuid_list:
|
for uuid in uuid_list:
|
||||||
|
|
||||||
job = export_images.delay( # @UndefinedVariable
|
job = export_images.delay( # @UndefinedVariable
|
||||||
uuid,
|
uuid,
|
||||||
start_ts=None,
|
start_ts=None,
|
||||||
@@ -89,7 +92,7 @@ def export_videos(uuid: str,
|
|||||||
@shared_task
|
@shared_task
|
||||||
def export_all_videos(session_id=None):
|
def export_all_videos(session_id=None):
|
||||||
try:
|
try:
|
||||||
conf = models.Configuration.objects.filter(active=True).first()
|
conf = ScannerConstants().get()
|
||||||
if session_id is None:
|
if session_id is None:
|
||||||
sessions = [s.id for s in models.Session.objects.filter(active=False)]
|
sessions = [s.id for s in models.Session.objects.filter(active=False)]
|
||||||
else:
|
else:
|
||||||
@@ -99,6 +102,7 @@ def export_all_videos(session_id=None):
|
|||||||
uuid_list = models.SessionExperiment.uuid_from_session(session_id)
|
uuid_list = models.SessionExperiment.uuid_from_session(session_id)
|
||||||
job_mp4 = []
|
job_mp4 = []
|
||||||
for uuid in uuid_list:
|
for uuid in uuid_list:
|
||||||
|
|
||||||
job = export_videos.delay( # @UndefinedVariable
|
job = export_videos.delay( # @UndefinedVariable
|
||||||
uuid,
|
uuid,
|
||||||
start_ts=None,
|
start_ts=None,
|
||||||
@@ -129,7 +133,7 @@ def run_session_exports(self, session_id: str):
|
|||||||
|
|
||||||
session.status = models.Session.Status.RUNNING
|
session.status = models.Session.Status.RUNNING
|
||||||
session.save(update_fields=["export_status"])
|
session.save(update_fields=["export_status"])
|
||||||
|
logger.info(f"run_session_exports [{session_id}]: export démarré")
|
||||||
chord(
|
chord(
|
||||||
group(
|
group(
|
||||||
export_all_images.s(session_id),
|
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")
|
logger.error(f"on_exports_done [{session_id}]: échec avec {len(errors)} erreurs")
|
||||||
else:
|
else:
|
||||||
session.export_status = models.Session.Status.DONE
|
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.export_exported_at = timezone.now()
|
||||||
session.save(update_fields=["export_status", "export_exported_at"])
|
session.save(update_fields=["export_status", "export_exported_at"])
|
||||||
|
|||||||
Reference in New Issue
Block a user