#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..
Ce compte ne servira plus : vous pouvez le supprimer si le coeur vous en dit...
Laissé par l'auteur pour historique.
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
Ce compte ne servira plus : vous pouvez le supprimer si le coeur vous en dit...
Laissé par l'auteur pour historique.
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))
Ce compte ne servira plus : vous pouvez le supprimer si le coeur vous en dit...
Laissé par l'auteur pour historique.
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.
Ce compte ne servira plus : vous pouvez le supprimer si le coeur vous en dit...
Laissé par l'auteur pour historique.
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