#1 Le 13/11/2023, à 14:26
- Tha Tawa'S
[RESOLU] Optimisation de sortie d une boucle UNTIL
Hello,
Je vous partage mon petit casse-tete du moment :
J ai une boucle qui fonctionne bien : Je vais verifier le poids de mon fichier, et si il est plus petit que demandé (10), j attends 300 secondes avant d aller le récupérer, et ca jusqu a ce qu il fasse plus de 10.
until (($poidsFichier > 10))
do
curl -s --request GET -H "Content-Type:application/json" $adresse$mon$etdate$sun$filtres$token -o fichier
poidsFichier=$(du -s /home/user/fichier | awk -F " " '{print$1}')
sleep 300
done
==>> Mais je voudrais optimiser la sortie de la boucle afin de ne pas attendre les 300sec si il fait plus de 10.
Et donc sortir dès validation qu il fait plus de 10.
Z'avez une idée ?
Dernière modification par Tha Tawa'S (Le 14/11/2023, à 17:51)
Si tu tapes ta tete contre une cruche et que ca sonne creux... ce n est peut-etre pas la cruche qui est creuse....
Hors ligne
#2 Le 13/11/2023, à 14:33
- jplemoine
Re : [RESOLU] Optimisation de sortie d une boucle UNTIL
A part ajouter un test lors de l'execution du sleep : je ne vois pas..
Membre de l'ALDIL (Association Lyonnaise pour le Développement de l'Informatique Libre)
- En pro, après 20 ans de développement, administrateur Linux / Unix depuis Avril 2019.
- En privé, sous Ubuntu-Xubuntu depuis 2009.
Déconnecté jusqu’à nouvel ordre
Hors ligne
#3 Le 13/11/2023, à 14:48
- Hizoka
Re : [RESOLU] Optimisation de sortie d une boucle UNTIL
Salut, en faisant ainsi ?
Un 1er test puis la boucle qui commence par le sleep.
# 1 er test
curl -s --request GET -H "Content-Type:application/json" $adresse$mon$etdate$sun$filtres$token -o fichier
poidsFichier=$(du -s /home/user/fichier | awk -F " " '{print$1}')
until (($poidsFichier > 10))
do
sleep 300
curl -s --request GET -H "Content-Type:application/json" $adresse$mon$etdate$sun$filtres$token -o fichier
poidsFichier=$(du -s /home/user/fichier | awk -F " " '{print$1}')
done
ou comme le dit jplemoine en modifiant le sleep :
(($poidsFichier <= 10)) && sleep 300
Dernière modification par Hizoka (Le 13/11/2023, à 14:49)
KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github
Hors ligne
#4 Le 13/11/2023, à 14:53
- Tha Tawa'S
Re : [RESOLU] Optimisation de sortie d une boucle UNTIL
A part ajouter un test lors de l'execution du sleep : je ne vois pas..
Quelle forme prendrait le test sur le sleep ?
Si tu tapes ta tete contre une cruche et que ca sonne creux... ce n est peut-etre pas la cruche qui est creuse....
Hors ligne
#5 Le 13/11/2023, à 15:24
- jplemoine
Re : [RESOLU] Optimisation de sortie d une boucle UNTIL
Tout dépend du langage... Sauf erreur de ma part, on n'a pas l'information
Membre de l'ALDIL (Association Lyonnaise pour le Développement de l'Informatique Libre)
- En pro, après 20 ans de développement, administrateur Linux / Unix depuis Avril 2019.
- En privé, sous Ubuntu-Xubuntu depuis 2009.
Déconnecté jusqu’à nouvel ordre
Hors ligne
#6 Le 13/11/2023, à 15:27
- pingouinux
Re : [RESOLU] Optimisation de sortie d une boucle UNTIL
Bonjour,
Quelque chose de ce genre ?
while true
do
curl -s --request GET -H "Content-Type:application/json" $adresse$mon$etdate$sun$filtres$token -o fichier
poidsFichier=$(du -s /home/user/fichier | awk -F " " '{print$1}')
if (($poidsFichier > 10))
then
break
else
sleep 300
fi
done
Hors ligne
#7 Le 13/11/2023, à 15:48
- jplemoine
Re : [RESOLU] Optimisation de sortie d une boucle UNTIL
Ben non... Y a plus simple (en admettant que la syntaxe soit bonne)
poidsFichier=0
...
until (($poidsFichier > 10))
do
curl -s --request GET -H "Content-Type:application/json" $adresse$mon$etdate$sun$filtres$token -o fichier
poidsFichier=$(du -s /home/user/fichier | awk -F " " '{print$1}')
if (($poidsFichier <= 10))
sleep 300
fi
done
Si c'est en bash, tester
if (($poidsFichier -le 10))
Membre de l'ALDIL (Association Lyonnaise pour le Développement de l'Informatique Libre)
- En pro, après 20 ans de développement, administrateur Linux / Unix depuis Avril 2019.
- En privé, sous Ubuntu-Xubuntu depuis 2009.
Déconnecté jusqu’à nouvel ordre
Hors ligne
#8 Le 13/11/2023, à 16:04
- lynn
Re : [RESOLU] Optimisation de sortie d une boucle UNTIL
Bonjour,
Et en utilisant l'option -I (i majuscule) de curl pour récupérer le poids du fichier distant ?
«C'est pas parce qu'ils sont nombreux à avoir tort qu'ils ont raison!»
Coluche
Hors ligne
#9 Le 13/11/2023, à 16:26
- Watael
Re : [RESOLU] Optimisation de sortie d une boucle UNTIL
until (($(du -s fichier 2>/dev/null | awk '{print $1}') >10))
do
wget ...
sleep 300
done
Dernière modification par Watael (Le 13/11/2023, à 20:16)
Connected \o/
Welcome to sHell. · eval is evil.
En ligne
#10 Le 13/11/2023, à 16:27
- jplemoine
Re : [RESOLU] Optimisation de sortie d une boucle UNTIL
aussi... je n'ai pas pensé à optimiser le curl : je n'ai fait que répondre à la question de sortie de boucle.
Membre de l'ALDIL (Association Lyonnaise pour le Développement de l'Informatique Libre)
- En pro, après 20 ans de développement, administrateur Linux / Unix depuis Avril 2019.
- En privé, sous Ubuntu-Xubuntu depuis 2009.
Déconnecté jusqu’à nouvel ordre
Hors ligne
#11 Le 13/11/2023, à 18:24
- Tha Tawa'S
Re : [RESOLU] Optimisation de sortie d une boucle UNTIL
Ben non... Y a plus simple (en admettant que la syntaxe soit bonne)
poidsFichier=0 ... until (($poidsFichier > 10)) do curl -s --request GET -H "Content-Type:application/json" $adresse$mon$etdate$sun$filtres$token -o fichier poidsFichier=$(du -s /home/user/fichier | awk -F " " '{print$1}') if (($poidsFichier <= 10)) sleep 300 fi done
Ah ben impecc', ca fait bien le job, merci !
Si tu tapes ta tete contre une cruche et que ca sonne creux... ce n est peut-etre pas la cruche qui est creuse....
Hors ligne
#12 Le 13/11/2023, à 19:44
- Hizoka
Re : [RESOLU] Optimisation de sortie d une boucle UNTIL
Ouais, le code que j'ai donné en message 3 quoi XD
(($poidsFichier <= 10)) && sleep 300
KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github
Hors ligne