[R] Arrêter action en cours car trop long

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
ludoo
Niveau 4
Niveau 4
Messages : 89
Enregistré le : lun. 11 août 2008 09:25
Localisation : Drôme 26
Status : Hors ligne

[R] Arrêter action en cours car trop long

#1

Message par ludoo »

Bonjour à tous,
comment arrêter une action en cours car la requête mais trop de temps.
voici un bout du code:

Code : Tout sélectionner

UDPStartUp()
$Socket = UDPopen($dest_IP_xxxx, $Port)
; ecrire dans le fichier ini la section par rapport au nom de l'imprimante
IniWriteSection($Cheminresultat&$nomfileResultat, "xxxxx", "")
;Read value at sysLocation
$SNMP_Command_HP_1 = _SNMPBuildPacket($OID_HP_3525_1, $SNMP_Community,$SNMP_Version, $SNMP_ReqID, "A0")
UDPSend($Socket, $SNMP_Command_HP_1)
_StartListener()
sleep (200)
merci de votre aide.

ps: utilisation udf: SNMP_UDF_v1.5.1
Modifié en dernier par ludoo le ven. 17 juin 2011 15:18, modifié 1 fois.
Ludo
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11824
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Arrêter action en cours car trop long

#2

Message par Tlem »

C'est bien de parler d'un UDF non standard, mais tout le monde ne le possède pas !!!
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
ludoo
Niveau 4
Niveau 4
Messages : 89
Enregistré le : lun. 11 août 2008 09:25
Localisation : Drôme 26
Status : Hors ligne

Re: [..] Arrêter action en cours car trop long

#3

Message par ludoo »

oui effectivement,
voici le lien vers l'UDF :http://www.autoitscript.com/forum/topic ... __hl__SNMP

la commande _Timer_Diff pourrait être utilisée ?
Ludo
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11824
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Arrêter action en cours car trop long

#4

Message par Tlem »

Je ne pense pas que _Timer_Diff soit une solution.

Il faudrait voir ou le script bloque. Ce doit surement être sur une des fonctions de communication : UDPopen() ou $SNMP_Command_HP_1() ou encore UDPSend().
Essayez de connaitre cet élément en débugant votre script. Une fois cette réponse obtenue, vous pourrez investiguer plus loin.
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
ludoo
Niveau 4
Niveau 4
Messages : 89
Enregistré le : lun. 11 août 2008 09:25
Localisation : Drôme 26
Status : Hors ligne

Re: [..] Arrêter action en cours car trop long

#5

Message par ludoo »

merci pour la piste , cela viens de la fonction :_StartListener()

Code : Tout sélectionner

Func _StartListener()
    If $Start = 1 Then
        $i = 0
        While (1)
            $srcv = UDPRecv($Socket, 2048)
            If ($srcv <> "") Then
                $result = _ShowSNMPReceived ($srcv)
                ConsoleWrite($srcv &@CRLF)
;~              _ArrayDisplay($result)
                ExitLoop
            ElseIf ($srcv == "") Then
            ConsoleWrite(@error)
            ExitLoop
            EndIf
         sleep(100)
        WEnd
    EndIf
EndFunc
j'ai rajouté , pour la gestion d'erreur de UDPRecv

Code : Tout sélectionner

ElseIf ($srcv == "") Then
            ConsoleWrite(@error)
            ExitLoop
Ludo
Répondre