Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 13/11/2023, à 15: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, à 18: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, à 15: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.

Hors ligne

#3 Le 13/11/2023, à 15: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, à 15:49)


KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github

Hors ligne

#4 Le 13/11/2023, à 15:53

Tha Tawa'S

Re : [RESOLU] Optimisation de sortie d une boucle UNTIL

jplemoine a écrit :

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, à 16: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.

Hors ligne

#6 Le 13/11/2023, à 16: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, à 16: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.

Hors ligne

#8 Le 13/11/2023, à 17: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, à 17: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, à 21:16)


Connected \o/
Welcome to sHell. · eval is evil.

Hors ligne

#10 Le 13/11/2023, à 17: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.

Hors ligne

#11 Le 13/11/2023, à 19:24

Tha Tawa'S

Re : [RESOLU] Optimisation de sortie d une boucle UNTIL

jplemoine a écrit :

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, à 20: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