vidjil issueshttps://gitlab.inria.fr/vidjil/vidjil/-/issues2024-01-19T18:31:51+01:00https://gitlab.inria.fr/vidjil/vidjil/-/issues/2358task.py: Mécanisme flexible pour lancer des traitements annexes non-bloquants2024-01-19T18:31:51+01:00Mathieu Giraudtask.py: Mécanisme flexible pour lancer des traitements annexes non-bloquants@mikael-s, à propos de #1744, pense que :
- Marc a fait un mécanisme plutôt générique pour lancer via `task.py` des traitements en utilisant les scheduler, avec retour asynchrone.
- Cela pourrait être utilisé pour #1469.
Et cela po...@mikael-s, à propos de #1744, pense que :
- Marc a fait un mécanisme plutôt générique pour lancer via `task.py` des traitements en utilisant les scheduler, avec retour asynchrone.
- Cela pourrait être utilisé pour #1469.
Et cela pourrait aussi servir à d'autres choses (Et pour "Compare patients", #1508, qu'est-ce qui avait été trouvé ?).
Bref, à partir des choses faites par Marc, pourrait-on avoir un mécanisme générique pour ce type de choses (avec un truc générique dans ~"server-task.py", et un autre dans ~client) ?
cc @RyanHerbWeb 2024.04https://gitlab.inria.fr/vidjil/vidjil/-/issues/5244Does `RUNNING` really means `RUNNING`?2024-03-20T15:35:38+01:00Mikaël SalsonDoes `RUNNING` really means `RUNNING`?I currently see that 33 processes have the status `RUNNING`. However on the server I only see 4 ongoing processes.
In that case the `RUNNING` status may be misleading.I currently see that 33 processes have the status `RUNNING`. However on the server I only see 4 ongoing processes.
In that case the `RUNNING` status may be misleading.Web hotfix 2024.01CHESNIN ClementCHESNIN Clementhttps://gitlab.inria.fr/vidjil/vidjil/-/issues/5064Erreur sur grep reads2022-10-04T12:03:20+02:00Mikaël SalsonErreur sur grep readsTenté un grep reads là dessus : https://app.vidjil.org/54221-30?clone=81
Le process a bien tourné, mais ensuite erreur « File could not be read ». En regardant sur le serveur, le fichier n'existe pas. Le répertoire `out-128383/seq` est ...Tenté un grep reads là dessus : https://app.vidjil.org/54221-30?clone=81
Le process a bien tourné, mais ensuite erreur « File could not be read ». En regardant sur le serveur, le fichier n'existe pas. Le répertoire `out-128383/seq` est vide : il n'y a pas de fichier clone.fa-*. Pourtant le processus Vidjil est bien lancé avec l'option `--out-clone-files`https://gitlab.inria.fr/vidjil/vidjil/-/issues/4259Fuse plante parfois : “Unterminated string starting at”2020-04-29T20:35:38+02:00Mikaël SalsonFuse plante parfois : “Unterminated string starting at”Exemples le 22/04 :
* `result/tmp/out-075543//075543-37506.fuse.log`
* `result/tmp/out-075545//075545-37508.fuse.log`
* `result/tmp/out-075583//075583-37506.fuse.log`
La traceback est celle-là :
```
File "../../tools/fuse.py", line 15...Exemples le 22/04 :
* `result/tmp/out-075543//075543-37506.fuse.log`
* `result/tmp/out-075545//075545-37508.fuse.log`
* `result/tmp/out-075583//075583-37506.fuse.log`
La traceback est celle-là :
```
File "../../tools/fuse.py", line 1558, in <module>
main()
File "../../tools/fuse.py", line 1456, in main
jlist.load(path_name, args.pipeline)
File "../../tools/fuse.py", line 614, in load
self.load_vidjil(file_path, *args, **kwargs)
File "../../tools/fuse.py", line 653, in load_vidjil
self.init_data(json.load(f, object_hook=self.toPython))
File "/usr/lib/python2.7/json/__init__.py", line 291, in load
**kw)
File "/usr/lib/python2.7/json/__init__.py", line 352, in loads
return cls(encoding=encoding, **kw).decode(s)
File "/usr/lib/python2.7/json/decoder.py", line 364, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
File "/usr/lib/python2.7/json/decoder.py", line 380, in raw_decode
obj, end = self.scan_once(s, idx)
ValueError: Unterminated string starting at: line 1 column 438022 (char 438021)
```
Comme si le fichier n'était pas complet, mais relancer le fuse fonctionne.
@magiraud @flothoni @duez déjà vu ce genre d'erreurs (avec Fuse ou autre) ?https://gitlab.inria.fr/vidjil/vidjil/-/issues/4189Le timeout des jobs ne semble pas correspondre au temps déclaré2020-02-18T16:06:04+01:00Thonier FlorianLe timeout des jobs ne semble pas correspondre au temps déclaréEn testant une config un peu longue, je suis tombé sur un timeout.
Pour rappel, ce temps est défini dans defs.py
```
TASK_TIMEOUT = 2 * 60 * 60
```
Dans le cas de `vdb`, on avait rallongé le temps à 5h (je viens de vérifier). Or, le la...En testant une config un peu longue, je suis tombé sur un timeout.
Pour rappel, ce temps est défini dans defs.py
```
TASK_TIMEOUT = 2 * 60 * 60
```
Dans le cas de `vdb`, on avait rallongé le temps à 5h (je viens de vérifier). Or, le lancement c'est fait à 10h46, et il n'est pas encore 15h46...
Il est utilisé dans le `task.py`, lors d'un ajout
```
task = scheduler.queue_task("pre_process", args, repeats = 1, timeout = defs.TASK_TIMEOUT)
```
Est-on certain que ce paramètre est bien pris en compte dans le docker ? je ne vois pour l'heure pas d'autres raison.https://gitlab.inria.fr/vidjil/vidjil/-/issues/3966Faire fonctionner MiXCR avec Docker2020-02-03T16:46:22+01:00Mikaël SalsonFaire fonctionner MiXCR avec DockerLorsqu'on lance MiXCR depuis un container Docker cela nécessite d'avoir java dans le container, ce qui n'est pas le cas.
À l'heure actuelle, MiXCR ne peut être lancé sur app.
Comment corriger ?Lorsqu'on lance MiXCR depuis un container Docker cela nécessite d'avoir java dans le container, ce qui n'est pas le cas.
À l'heure actuelle, MiXCR ne peut être lancé sur app.
Comment corriger ?https://gitlab.inria.fr/vidjil/vidjil/-/issues/3862Analyse FAILED avec un résultat2019-03-25T11:12:45+01:00Anne de SeptenvilleAnalyse FAILED avec un résultatCette analyse étais notée FAILED à côté du nom du sample, et pourtant il semble bien y avoir un résultat (obtenu à 16h04) j'ai relancé l'analyse à 16h27 avant de voir que ça avait quand même fonctionné (?).
https://vdb.vidjil.org/brow...Cette analyse étais notée FAILED à côté du nom du sample, et pourtant il semble bien y avoir un résultat (obtenu à 16h04) j'ai relancé l'analyse à 16h27 avant de voir que ça avait quand même fonctionné (?).
https://vdb.vidjil.org/browser/index.html?set=30585&config=54https://gitlab.inria.fr/vidjil/vidjil/-/issues/3558Scheduler : Error cleaning up2019-08-22T13:37:33+02:00Ryan HerbertScheduler : Error cleaning upOn a des erreurs régulières dans nos workers de la forme `ERROR:web2py.scheduler.28fe17984f96#17:Error cleaning up`.
De ce que j'ai compris [ici](https://groups.google.com/d/msg/web2py/opWFUcDMCyc/pMD0wFPkz9UJ), celà veut dire que le sc...On a des erreurs régulières dans nos workers de la forme `ERROR:web2py.scheduler.28fe17984f96#17:Error cleaning up`.
De ce que j'ai compris [ici](https://groups.google.com/d/msg/web2py/opWFUcDMCyc/pMD0wFPkz9UJ), celà veut dire que le scheduler n'arrive pas à agir sur ses propre tables.
Se pourrait-il que cette erreur de se produise sur une partie des workers de manière quasi-continue, et de temps en temps sur la totalité des workers (ce qui entraine l'erreur avec tous les jobs en `QUEUED`).https://gitlab.inria.fr/vidjil/vidjil/-/issues/3400Pas de résultat visible avec des runs COMPLETED2018-07-19T13:01:10+02:00Ryan HerbertPas de résultat visible avec des runs COMPLETEDC'est un problème relevé par Lille.
Cas de figure: deux résultats COMPLETED, un RUNNING, et un QUEUED (plus quelques STOPPED).
Mais aucun lien n'est visible pour visionner l'analyse actuelle.C'est un problème relevé par Lille.
Cas de figure: deux résultats COMPLETED, un RUNNING, et un QUEUED (plus quelques STOPPED).
Mais aucun lien n'est visible pour visionner l'analyse actuelle.https://gitlab.inria.fr/vidjil/vidjil/-/issues/2579Supprimer un process ne supprime pas le scheduler_task associé2020-08-07T15:43:41+02:00Ryan HerbertSupprimer un process ne supprime pas le scheduler_task associéDepuis l'interface d'un sample_set, si on supprime un `run`, on s'attendrait à ce que je le scheduler ne lance pas la tâche associée. Or je constate qu'après avoir supprimé des tâches qui étaient en `QUEUED` ou en `ASSIGNED`, les entrées...Depuis l'interface d'un sample_set, si on supprime un `run`, on s'attendrait à ce que je le scheduler ne lance pas la tâche associée. Or je constate qu'après avoir supprimé des tâches qui étaient en `QUEUED` ou en `ASSIGNED`, les entrées dans la table `scheduler_task` ne sont pas supprimées.
Je dirais même que l'on pourrait s'attendre à ce que la tâche soit complètement killée si elle est déjà en cours d'exécution.
@flothonihttps://gitlab.inria.fr/vidjil/vidjil/-/issues/2213Killer les processus en timeout2023-01-09T11:48:15+01:00Mikaël SalsonKiller les processus en timeoutÀ l'heure actuelle, quatre processus Vidjil tournent sur le serveur, certains depuis plus d'un jour (je soupçonne très fortement un bug dans l'algo, mais ce n'est pas le sujet), mais les quatre workers sont libres. La raison : on libère ...À l'heure actuelle, quatre processus Vidjil tournent sur le serveur, certains depuis plus d'un jour (je soupçonne très fortement un bug dans l'algo, mais ce n'est pas le sujet), mais les quatre workers sont libres. La raison : on libère le worker après le timeout (ou il se libère tout seul, je ne sais pas), mais le processus n'est pas achevé pour autant.
La méthode à adopter peut avoir un lien avec ce qui est discuté dans #2165
cc @magiraud @RyanHerbhttps://gitlab.inria.fr/vidjil/vidjil/-/issues/4602task.py et ailleurs: Utiliser des constantes pour les status des process2020-12-08T15:19:38+01:00Mathieu Giraudtask.py et ailleurs: Utiliser des constantes pour les status des process
QUEUED, RUNNING, COMPLETED, FAILED, DONE devraient être dans des constantes
QUEUED, RUNNING, COMPLETED, FAILED, DONE devraient être dans des constanteshttps://gitlab.inria.fr/vidjil/vidjil/-/issues/3195Visualisation des fichiers de résultats : le permettre aussi dans les sous-ré...2018-04-18T10:37:44+02:00Mikaël SalsonVisualisation des fichiers de résultats : le permettre aussi dans les sous-répertoiresLorsqu'un process est terminé, on peut voir ces fichiers de résultats. Mais si dans le répertoire il y a des sous-répertoires, ceux-ci sont cliquables, mais on ne peut pas aller dedans.Lorsqu'un process est terminé, on peut voir ces fichiers de résultats. Mais si dans le répertoire il y a des sous-répertoires, ceux-ci sont cliquables, mais on ne peut pas aller dedans.https://gitlab.inria.fr/vidjil/vidjil/-/issues/1520Liste des sets : info si les calculs sont finis ou pas2019-02-28T12:39:27+01:00Vidjil TeamListe des sets : info si les calculs sont finis ou pasLorsqu'on a lancé beaucoup de calculs (disons sur 70 patients par exemple), on aimerait savoir si c'est fini ou pas, ou au moins quels patients on pourrait consulter. Une manière simple de visualiser cela serait d'avoir un petit indicate...Lorsqu'on a lancé beaucoup de calculs (disons sur 70 patients par exemple), on aimerait savoir si c'est fini ou pas, ou au moins quels patients on pourrait consulter. Une manière simple de visualiser cela serait d'avoir un petit indicateur dans la liste des configs de chaque patient lorsque la config est en train de tourner.
***
@RyanHerbhttps://gitlab.inria.fr/vidjil/vidjil/-/issues/5076py4web : statut des tâches et relancement au redémarrage2022-10-19T18:05:30+02:00Mathieu Giraudpy4web : statut des tâches et relancement au redémarrage
@duez : "Les fonctions `register_task()` et `update_task()` definiess dans `task.py` servent a mettre a jour la table `scheduler_task` héritée de web2py et doivent etre utilisées a la place des anciens "return 'SUCCESS'", "return 'STOPP...
@duez : "Les fonctions `register_task()` et `update_task()` definiess dans `task.py` servent a mettre a jour la table `scheduler_task` héritée de web2py et doivent etre utilisées a la place des anciens "return 'SUCCESS'", "return 'STOPPED'", ... pour conserver."
Pour Vidjil, c'est bon, pour MiXCR et autres à faire.https://gitlab.inria.fr/vidjil/vidjil/-/issues/4832Scheduler indépendant de web2py/py4web ?2021-11-22T13:51:55+01:00Mathieu GiraudScheduler indépendant de web2py/py4web ?
Celery ? https://docs.celeryproject.org/en/stable/
Autres choses ?
Celery ? https://docs.celeryproject.org/en/stable/
Autres choses ?https://gitlab.inria.fr/vidjil/vidjil/-/issues/4550task.py devrait accéder à un dictionnaire pour les (pre-, post-)process, voir...2020-11-13T20:03:34+01:00Mathieu Giraudtask.py devrait accéder à un dictionnaire pour les (pre-, post-)process, voire pour les process ?Suggestion de @duez : un dictionnaire dans `defs.py`, on ne devrait pas avoir à changer `task.py` pour un nouveau pré/post-process qui est juste "une commande à trous" (possiblement avec wrapper)
Discussion avec @duez / @flothoni : les ...Suggestion de @duez : un dictionnaire dans `defs.py`, on ne devrait pas avoir à changer `task.py` pour un nouveau pré/post-process qui est juste "une commande à trous" (possiblement avec wrapper)
Discussion avec @duez / @flothoni : les tasks demandent plus de choses... mais ne faudrait-il pas un wrapper autour de vidjil-algo ou d'autres tâches pour que ~"server-task.py" ne s'occupe que du scheduling ?https://gitlab.inria.fr/vidjil/vidjil/-/issues/3832Upload puis lancement multiple via .csv2021-12-21T11:17:34+01:00Mathieu GiraudUpload puis lancement multiple via .csvSuggestion de Naïs ~"TOU\-Toulouse" qui va au-delà de #2891 : pouvoir même lancer, via un `.csv`, toutes les analyses, éventuellement avec une colonne spécifiant la ~"server\-config" voulue.
Faire déjà #2891.Suggestion de Naïs ~"TOU\-Toulouse" qui va au-delà de #2891 : pouvoir même lancer, via un `.csv`, toutes les analyses, éventuellement avec une colonne spécifiant la ~"server\-config" voulue.
Faire déjà #2891.https://gitlab.inria.fr/vidjil/vidjil/-/issues/3538Réflexion sur les lancements (post-)post-process2019-03-05T15:10:14+01:00Mathieu GiraudRéflexion sur les lancements (post-)post-processOn a des choses à lancer après nos process: #1469 #1744 #3181 #1567
Certaines choses (#1469, #3181 ?) pourraient se lancent via le ~"server-fuse", d'autres vraiment après, parfois non systématiquement, sur demande de l'usager (#1744, ~"...On a des choses à lancer après nos process: #1469 #1744 #3181 #1567
Certaines choses (#1469, #3181 ?) pourraient se lancent via le ~"server-fuse", d'autres vraiment après, parfois non systématiquement, sur demande de l'usager (#1744, ~"app\-clonedb" plus poussé, #1567...). On devrait discuter d'un mécanisme pour au moins ce dernier cas.https://gitlab.inria.fr/vidjil/vidjil/-/issues/3300Ordre sur les flags de task.py2018-06-18T18:02:51+02:00Mathieu GiraudOrdre sur les flags de task.pyUne pensée après #3289 / !209 : on aurait pu avoir des flags avec des opérations d'ordre (comme ce qu'on met dans le mail) :
NO_JOB → QUEUED → ASSIGNED → RUNNING → COMPLETED
Mais bon, c'est sûrement inutilement compliqué.Une pensée après #3289 / !209 : on aurait pu avoir des flags avec des opérations d'ordre (comme ce qu'on met dans le mail) :
NO_JOB → QUEUED → ASSIGNED → RUNNING → COMPLETED
Mais bon, c'est sûrement inutilement compliqué.