Paralléliser l'exécution
En créant 3 processes:
- Le
packer
qui a la liste des archives à préparer (à partir du find) et capable de décider des archives à préparer - Le
sender
qui envoie tous les fichiers prêts et écrit le rapport - Le
pilot
qui lance packer et sender. Peut mettre en pause le packer si l'espace scratch se rempli et le relancer. Qui peut relancer le sender en cas de problèmes (réseau par exemple)
Packer
- Constitue la liste des archives à créer (commande find)
- Pour chaque archive à créer:
- Tenir compte de l'option
--continue-from rapport.csv
(chercher si l'envoi précédent a bien fonctionné) - Préparer l'archive
WORKDIR/
KEY.tar - Créer un fichier vide
WORKDIR/
KEY.ready
Sender
- Scrute le répertoire de travail pour tout fichier *.ready
- Déclenche l'envoi du fichier $KEY.tar
- Écrit le rapport et l'envoi
- Fait le ménage
Pilot
- Initialise le rapport d'exécution
- Prépare le fichier de récupération si nécessair
continue-from
- Scanne la capacité du workdir et met le packer en pause lorsqu'il ne reste plus que 5Mo
- Relance le packer s'il reste plus de 1Go d'espace libre
- Relance le sender s'il s'est arrêté