Page 1 sur 1

[..] Planification de programme

Posté : mer. 10 sept. 2014 09:49
par lokomass
Bonjour,

Je me permet d'ouvrir un nouveau post qui poursuit celui-ci : http://www.autoitscript.fr/forum/viewto ... =3&t=12759
Le problème à évolué et le souci n'est plus vraiment le même..
Après de multiples rebondissements (pour ouvrir 3 pages internet oui !!), j'ai réécris en moins propre mais efficacement le script.
Il fonctionne à tous les coups quand je le lance à la main (j'ai testé des dizaines de fois).
En même temps il ne fait grand chose :

- il ouvre un fichier texte (si il n'existe pas, il quitte)
- il le lit ligne par ligne
- ouvre l'url de la ligne dans firefox
- attend 60 secondes
- ouvre la suivante, etc
- supprime le fichier texte

Je l'ai donc ordonnancé tous les jours à 1h via le planificateur de tâches (j'ai déjà pas mal de choses dedans qui se lancent quotidiennement de la même manière et ça fonctionne parfaitement).
Et bien, aussi invraisemblable que ça puisse paraitre, ça marchote.....
Un jour pas de soucis, le sur-lendemain rien ne se passe... à n'y rien comprend, je m'arrache les cheveux...
Voici mon code quand même au cas ou, est-ce déjà arrivé à quelqu'un ?
► Afficher le texte

Re: [..] Planification de programme

Posté : mer. 10 sept. 2014 11:48
par Faco
Salut,
Fait des log (je t'es mis deux/trois log) :
► Afficher le texte

Re: [..] Planification de programme

Posté : mer. 24 sept. 2014 08:52
par lokomass
Bonjour,

J'ai enfin pris le temps de mettre en place ton script, car j'ai eu d'autres soucis sur la génération du fichier texte..
Bref cette nuit c'est passé et j'ai eu un drôle de résultat, il a ouvert des onglets firefox toutes les minutes de 1h à 8h... non stop (je l'ai coupé manuellement).
Pourtant mon fichier texte contenait 4 lignes et 3 liens :

Code : Tout sélectionner

http: //....?date=30092014_1700&reserve=1
http: //....?date=30092014_1740&reserve=1
http: //...?date=30092014_1820&reserve=1
 
Voici le log de sortie
► Afficher le texte
Et voici le script :

Code : Tout sélectionner

Global $logLocal = FileOpen("C:\Liens.log",1);###############################

_doLog("Lancement")

;Variables du script
$Duree1 = 10
$Duree2 = 60000
; $_FF_ERROR_MSGBOX = False;

_doLog("Variables")

;Fichiers du script
$Recycle = "N:\#recycle"
$Texte = "N:\Liens.txt"
$Fichier = FileOpen($Texte, 0)

_doLog("Création")

;Vérifie le fichier
If $Fichier = -1 Then
    _doLog("Pas de fichier")
    Exit
EndIf

_doLog("Fichier")

;Programme principal
While 1
    $Ligne = FileReadLine($Fichier)
    _doLog("Ligne")
    If @error Then 
        _doLog("Erreur")
        ExitLoop
    EndIf
    _doLog("Firefox : " & $Ligne)
    Run("C:\Program Files (x86)\Mozilla Firefox\firefox.exe " & $Ligne)
    _doLog("Wait")
    Sleep($Duree2)
Wend
 
Je pense que le souci est ciblé sur le If Error dans la boucle, mais je ne vois pas lequel..

Re: [..] Planification de programme

Posté : mer. 24 sept. 2014 16:50
par orax
► Afficher le texte
Si le fichier est aussi petit et s'il ne change pas pendant l'exécution du script alors autant récupérer toutes les lignes dans une variable.
► Afficher le textevoir le code (pas testé)

Re: [..] Planification de programme

Posté : jeu. 25 sept. 2014 09:22
par lokomass
Merci pour ta réponse claire.

Re: [..] Planification de programme

Posté : ven. 26 sept. 2014 09:23
par lokomass
Donc j'ai pu mettre en place le script avec les logs pour vérifier ce qu'il se passe...
Ce matin, aucun mail comme quoi le script était passé, j'ouvre le fichier de log pour voir dedans et je vous préviens, c'est incompréhensible...

Voici le contenu exact du fichier de log :

Code : Tout sélectionner

2014/09/26 01:00:01 :: Lancement
2014/09/26 01:00:01 :: Variables
2014/09/26 01:00:01 :: Montage
2014/09/26 01:00:01 :: Création
2014/09/26 01:00:01 :: Pas de fichier
 
Alors que mon fichier (généré tous les jours à 00h45 par mon serveur) est bien présent sur le PC en date de 00h45.
En fait oui, le fameux fichier texte est déposé par mon serveur à 00h45 tous les jours dans un de ses répertoires, et le PC lui, à 1h va lire dans ce disque partagé, c'est pourquoi avant de vérifier si le fichier existe j'execute un bat qui force le montage de mon lecteur N:\ ou se trouve le fichier (au cas ou il soit démonté).
Donc maintenant, comment puis-je vérifier qui est en cause, et comment aller plus loin pour savoir comment corriger le souci ?

Merci d'avance

Re: [..] Planification de programme

Posté : ven. 26 sept. 2014 15:32
par Tlem
Et au lieu de monter un lecteur, est ce que vous pouvez accéder directement au partage/fichier en passant par un chemin UNC ?

Envoyé depuis mon mobile en utilisant Tapatalk.

Re: [..] Planification de programme

Posté : ven. 26 sept. 2014 15:37
par lokomass
L'ennui c'est que le fameux lecteur, c'est la seule ressource qui peut être vue par le serveur qui dépose le fichier.
Et ce qui est encore plus embêtant c'est qu'il trouve le fichier quand même 2/3 fois

Re: [..] Planification de programme

Posté : ven. 26 sept. 2014 19:27
par orax
Plutôt que de fermer le script lors d'une erreur, avec ce code il essayera en boucle de lire le fichier. Et j'ai ajouté un ping (il faudra y mettre l'adresse du serveur).
► Afficher le texte