ajouter des exceptions aux timeout
Depuis quelques jours, j'ai un utilisateur qui lance des jobs sur des gros fichiers de RNAseq (~4GO). Ses jobs finissent toujours en timeout (preprocess coupé à 4h, vidjil à 2h).
Est-il possible d'assigner des jobs lourds à un worker spécifique pour lequel le timeout serait bien plus élevé, ou bien d'assigner dynamiquement un timeout plus long quand on peux prévoir qu'un tel job est en cours ?
Tel que je le vois, il faudrait être capable de détecter avant son lancement si un job risque le timeout :
- Poids des fichiers en entrée (automatique pour tous) ?
- Déclaration de l'utilisateur dans une liste blanche ?
- une case à cocher par l'utilisateur pour signifier qu'un fichier risque d'être lourd (j'y crois pas trop). Cependant, on pourrait alors avoir une liste des jobs pour lesquels nous validons les lancements avec exceptions.
Ensuite, il ne faut pas non plus bloquer le serveur :
- n'autoriser qu'un seul jobs sans timeout, 2 max ?
Que faire d'un job long qui finalement dépasserait le timeout sans être prévu:
- si le seul en cours, le laisser et le passer en exception à la volée (laisserai 2 ou 3 workers pour les jobs plus rapide) ?
- si déjà d'autres jobs en exception il faudrait le tuer et le relancer automatiquement dès qu'un place en exception de timeout se libère ?
Voilà, beaucoup de questions. Je ne sais pas si c'est aisé ou non, et ça demande peut-être beaucoup mise au point.