Bonjour,
Je developpe actuellement un scheduler en vbscript sous forme d'objets wsc.
Le lancement d'une tache s'effectue a partir d'un objet exec défini en property de l'objet tache.
A la fin de l'execution d'une tache, le contenu de la sortie standard (oExec.stdout) et de la sortie d'erreur (oExec.stdErr) sont envoyés dans un fichier nomDeTache.log .
Mon probleme, c'est que si la tache lancée par le scheduler envoie trop d'informations a la sortie standard, au bout d'un moment, le buffer stdout est plein, et la tache se fige, mais le process existe toujours, et le oExec.status reste = 0, il faut donc killer le process a la main, et la tache ne se termine pas correctement.
Il m'est donc nécessaire de vider regulierement le stdout pour le stocker autre part (peu importe ou, dans un string ou dans un fichier...) afin de lui permettre de n'etre jamais full.
Toutes les differentes manieres que j'ai pu utiliser (en me servent du atEndOfStream, du ReadAll, du ReadLine, etc...) me posent toujours le meme probleme : A chaque fois que j'essaie de recuperer et vider le buffer, il bloque mon script de schedule et attend que le oExec.status = 1 pour me renvoyer le oExec.stdout...
Quelqu'un aurait il une idée qui me permettrait de resoudre mon probleme ?
Merci!