Closed marthevienne closed 1 week ago
Ok. Le souci que je vois c'est surtout qu'on va avoir les dernières positions si on va les chercher dans les données sources mais qu'on aura aucune autre information à jour (ni segment, ni excursion, ni temps passé sur amp, et pas de nettoyage/validation des positions...) Y a-t-il une raison particulière pour laquelle le pipeline de transfos ne se fait pas tout les 15 minutes aussi ? de mémoire c'est ce qui était prévu tant qu'il durait significativement moins de 15 minutes ou je me trompe ? Mais si c'est préférable d'aller chercher la dernière position je vais changer ça pas de souci
Non il faut bien que tu ailles chercher les dernières positions dans fct_segment. D'ailleurs il y a une colonne qui indique si un segment est le dernier segment d'une excursion. En cible le traitement doit bien se lancer tous les 1/4 d'heure mais jusqu'à présent on n'a pas pu configurer le cron de clever, je dois regarder. Du coup pour l'instant comme l'a dit Marthe c'est moi qui lance le traitement manuellement de manière plus ou moins régulière. => j'essaye de regarder cette histoire demain.
Ok, je pensais que ça serait impossible de faire tourner l'ETL toutes les 15 min. J'ai bien compris comment marche la méthode. Parfait :) Si besoin de mettre en place le cron, je peux le faire vu que je l'ai fait pour ipolitics sur clevercloud.
Pour les cron @SaboniAmine a déjà mis un a priori Mais effectivement il ne concerne que la récupération des positions https://github.com/dataforgoodfr/12_bloom/blob/main/clevercloud/clever.json
Ah yes ! Il a repris ce que j'avais fait ! Cool :) On en discute ensemble Nicolas quand tu veux.
Il faut exécuter (toutes les 15 minutes) successivement et dans cet ordre les traitements:
On peut mettre ça dans un shell et programmer un cron toutes les 15 minutes. Peut-être entouré d'un flock pour éviter que le script se relance s'il est encore encore en cours au bout de 15 minutes.
Et je précise également qu'il est très important que si un des scripts est interrompu pour n'importe quelle raison, aucun autre traitement futur ne doit être lancé
Closed. Nouvelle issue plus générale #254
Les positions récupérées via la méthode
list_all_vessel_last_position
dans/routers/V1/vessels.py
va chercher la position de fin du dernier segment calculé pour chaque navire. Le problème est que le calcul des segments ne se fait pas à chaque call API.Pour l'instant, le lancement du pipeline de transformation se fait manuellement par @njouanin (tous les 2 jours environ ?). Si nous pouvons lancer la pipeline de transformation des données Spire toutes les 15 min, alors on peut supposer que la end_position du dernier segment est en effet la dernière position reçue. Sinon, on va devoir lancer une autre tâche intermédiaire juste pour stocker temporairement les dernières positions.