Project

General

Profile

Tâche #21388

Scénario #21165: Traitement express MEN (37-39)

Le timeout du client Creole ne devait pas être dépendant du contexte

Added by Joël Cuissinat about 4 years ago. Updated almost 4 years ago.

Status:
Fermé
Priority:
Normal
Assigned To:
Start date:
09/18/2017
Due date:
% Done:

100%

Estimated time:
3.00 h
Spent time:
Remaining (hours):
0.0

Description

Au cours de l'étude de #21375, j'ai constaté que certains programmes (Maj-Auto, reconfigure) avaient un timeout de 15 secondes alors que d'autres (CreoleGet) semblaient ne pas en avoir...

La faute à Zéphir !

>>> import socket
>>> print socket.getdefaulttimeout()
None
>>> from zephir import lib_zephir
>>> print socket.getdefaulttimeout()
15.0

Je proposerais de le fixer dans la "boucle for" déjà modifiée dans creole:f21cee06.
Il faut trouver une valeur adequat (sachant qu'il y a trois essais).


Related issues

Related to Distribution EOLE - Tâche #21375: Étude des erreurs "Maj-Auto - timed out" visibles dans Jenkins Fermé 09/15/2017

Associated revisions

Revision efa10612 (diff)
Added by Joël Cuissinat almost 4 years ago

Utilisation du timeout eventlet pour le client Creole

Ref: #21388

Revision 6ad201b8 (diff)
Added by Joël Cuissinat almost 4 years ago

Update translation

Ref: #21388

History

#1 Updated by Joël Cuissinat almost 4 years ago

  • Status changed from Nouveau to En cours

#2 Updated by Joël Cuissinat almost 4 years ago

  • Assigned To set to Joël Cuissinat

#3 Updated by Joël Cuissinat almost 4 years ago

  • Remaining (hours) changed from 3.0 to 2.0

#4 Updated by Joël Cuissinat almost 4 years ago

  • % Done changed from 0 to 100
  • Remaining (hours) changed from 2.0 to 0.25

La méthode de test est la même que celle décrite dans #21375#note-1, ce signalement remplace d'ailleurs le précédent :o

#5 Updated by Joël Cuissinat almost 4 years ago

  • Related to Tâche #21375: Étude des erreurs "Maj-Auto - timed out" visibles dans Jenkins added

#6 Updated by Scrum Master almost 4 years ago

  • Status changed from En cours to Résolu

#7 Updated by Daniel Dehennin almost 4 years ago

  • Remaining (hours) changed from 0.25 to 0.0

#8 Updated by Daniel Dehennin almost 4 years ago

Pour tester :

  1. Arrêter creoled
    service creoled stop
    
  2. Exécuter une boucle d’écoute sur le port 8000
    root@amonecole-eclair:~# for i in {1..10}; do nc -l -p 8000 127.0.0.1; done
    
  3. Exécuter un CreoleGet en mode debug
    root@amonecole-eclair:~# time CreoleGet --debug eole_release
    creole.client - Erreur de connexion '5 seconds', essai 1/3
    creole.client - Erreur de connexion 'socket.error: [Errno 111] ECONNREFUSED', essai 2/3
    creole.client - Erreur de connexion '5 seconds', essai 3/3
    root - Erreur HTTP : le service creoled n'a pas répondu dans les délais
    Traceback (most recent call last):
      File "/usr/bin/CreoleGet", line 114, in main
        output(client.get_creole(var, **kwargs))
      File "/usr/lib/python2.7/dist-packages/creole/client.py", line 433, in get_creole
        ret = self.get('/creole', *args, variable=name, **kwargs)
      File "/usr/lib/python2.7/dist-packages/creole/client.py", line 392, in get
        ret = self.request('/get', path, **kwargs)
      File "/usr/lib/python2.7/dist-packages/creole/client.py", line 319, in request
        ret = self._request(self.url + command + path, **kwargs)
      File "/usr/lib/python2.7/dist-packages/creole/client.py", line 298, in _request
        raise TimeoutCreoleClientError(msg.format(err))
    TimeoutCreoleClientError: Erreur HTTP : le service creoled n'a pas répondu dans les délais
    
    real    0m14.059s
    user    0m0.132s
    sys    0m0.020s
    

#9 Updated by Daniel Dehennin almost 4 years ago

  • Status changed from Résolu to Fermé

Also available in: Atom PDF