beaugerie Posté(e) le 24 octobre 2018 Posté(e) le 24 octobre 2018 (modifié) Bonjour J'ai lancé un fichier .bat qui m' exécute des commandes séquentielles identiques (plusieurs milliers). Le pb arrive quand un fichier data est corrompu et le programme est bloqué dessus. L'exécutable ne peut pas s'arrêter pour passer au suivant. J'aimerai mettre une condition de temps pour chaque thread utilisé, par exemple si temps >3mn, alors kill commande. Comment faire ? Merci beaucoup ! sinon je dois vérifier toutes les heures mon ordi pour repérer les threads bloqués pour les relancer....un esclave de sa machine... Modifié le 24 octobre 2018 par beaugerie orthographe
beaugerie Posté(e) le 25 octobre 2018 Auteur Posté(e) le 25 octobre 2018 autre possibilité: tuer tous le (les) processus à intervalles réguliers, par exemple toutes les 2 heures et relancer le processus suivant dans la liste d'attente. comment faire ? merci exemple en multi thread dossier_1 contient 1000 processus_1 à processus_1000 séquentiels lancés sur le thread_1 dossier_2 contient 1000 processus_1 à processus_1000 séquentiels lancés sur le thread_2 .... à H+2, on tue tous les processus en cours processus_x de chaque thread et on relance sur le processus_(x+1)
Le PoissonClown Posté(e) le 25 octobre 2018 Posté(e) le 25 octobre 2018 Salut ! Alors là… Excellente question. Je ne suis pas un expert en batch comme tu peux en trouver sur Zebulon ou même sur ZdS. Alors je viens de chercher un peu et je n'ai rien trouvé d'intéressant. Mais si tu trouves une piste, je suis intéressé. Bonne recherche à toi.
Delta Posté(e) le 25 octobre 2018 Posté(e) le 25 octobre 2018 il y a 46 minutes, Le PoissonClown a dit : sur ZdS même interface " forum " que le crabe info
Le PoissonClown Posté(e) le 25 octobre 2018 Posté(e) le 25 octobre 2018 il y a 28 minutes, Delta a dit : même interface " forum " que le crabe info Je ne pense pas. Avec l'équipe de dev qu'ils ont, ce doit être du sur-mesure.
Delta Posté(e) le 25 octobre 2018 Posté(e) le 25 octobre 2018 (modifié) il y a 7 minutes, Le PoissonClown a dit : Je ne pense pas. Avec l'équipe de dev qu'ils ont, ce doit être du sur-mesure. autant pour moi ... c'est zebulon qui est sur le format du forum le crabe info meme interface etc https://forum.zebulon.fr/ Modifié le 25 octobre 2018 par Delta 1
beaugerie Posté(e) le 25 octobre 2018 Auteur Posté(e) le 25 octobre 2018 un pote vient de trouver une solution. je la teste et je vous en fais part.... 2
beaugerie Posté(e) le 25 octobre 2018 Auteur Posté(e) le 25 octobre 2018 (modifié) solution1 : toto est ton executable apprentissage_x est un argument de toto.exe START /I toto apprentissage_x TIMEOUT 400 & délai d'attente en secondes avant de lancer la prochaine ligne de commande TASKKILL /F /IM toto.exe cela marche mais1- cela te mobilise 1 thread , donc si tu as 20 threads, 10 seront dédiés au calcul et 10 autres à surveiller les 10 qui calculent, ton PC devient réellement le Partie Comuniste....2- il faut mettre un temps long correspondant au 95ieme percentile des temps de tes calculs, donc en fait tu multiplies par 1.90 ton temps moyens de calculce qui fait au total, ton rendement devient peau de chagrin: 50% de 50% cela fait....25% d'efficacité.Au total tu as une bécane à 32 coeurs (pas mal quand même) et seulement 8 vont bosser....et les autres surveillent ou sont tués à mi-chemin de leur calcul3- et en plus, il te faut renommer tous tes toto.exe en toto1.exe, toto2.exe, sinon quand il tue un toto.exe, il tue tous les processus toto.exe Modifié le 25 octobre 2018 par beaugerie orthographe 1
Le PoissonClown Posté(e) le 26 octobre 2018 Posté(e) le 26 octobre 2018 Merci beaucoup ! Et avec moult précisions s'il vous plait ! En effet, niveau performance, ça n'est pas l'idéal. Pour ce qui est de ta troisième remarque, il n'est pas possible de récupérer l'ID du processus, puis de le spécifier ensuite dans la commande Taskkill ?
beaugerie Posté(e) le 26 octobre 2018 Auteur Posté(e) le 26 octobre 2018 Il faut rendre à Cesar, je remercie un certain Maxime qui m'as trouvé cette solution. Mais je recherche de bonnes âmes pour m'aider pour des scripts de ce type: copier un fichier depuis mon PC (win10) vers un centre de calcul dont j'ai un accès via ssh. Apres toute une nuit de veille pour voir le comportement de différents scenarii, j ai finalement opté de lancer sur un seul thread cette commande. Du coup, je mobilise un thread pour lui, les autres sont libres. J ai mis un délai de 1h entre chaque massacre. Cela relance tout et en moyenne je perds donc (x/2) mn de calcul par thread restant, x étant le temps moyen pour un thread à modéliser un échantillon. C'est ce qu'il y a de plus acceptable. Quand j'aurai fini avec mes modèles de prédiction, peut être que je me mettrai au bitcoins....pour avoir un retour en investissement de mon garage très très particulier.... 1
Delta Posté(e) le 26 octobre 2018 Posté(e) le 26 octobre 2018 il y a une heure, beaugerie a dit : mon garage très très particulier.... 1
Messages recommandés