Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 12-01-2011 14:19:38

draghysck
Nouveau membre
Date d'inscription: 03-09-2009
Messages: 5

[Zend_Http][1.10.6] - Timeout non géré?

Bonjour,

Voilà j'utilise dans mon entreprise le composant Zend_Http_Client, afin d'interroger la météo de google. (Jusque là pas de problème)

Mon soucis est que aujourd'hui nous avons une coupure d'Internet, donc mon serveur se retrouve incapable de récupérer les informations de Google (normal). 

J'ai paramétré à 2 secondes le timeout du composant, pourtant j'attends bien 35-40 secondes devant mon écran avant d'avoir le retour comme quoi "Unable to connect..."

Ma version du Zend Framework : 1.10.6

Voici mon bout de code météo :

Code:

// Vérification si météo se trouve en cache dans mon appli...
if(!$data = $cache->load('GWeather')) {
    try {
        $client = new Zend_Http_Client('http://www.google.com/ig/api?weather=Sarrebourg&hl=fr', 
                                                    array(    'maxredirects' => 0,
                                                            'timeout'      => 2
                                                         ));
        $response = $client->request();
    if ($response->isSuccessful()) {
        $data = $response->getBody();
        $cache->save($data, 'GWeather');
                
     } else {
        $data = 'Meteo indisponible';
        $cache->save($data, 'GWeather');
    }
    } catch ( Zend_Http_Client_Exception $e ) {
    $data = 'Meteo indisponible';
    $cache->save($data, 'GWeather');
    }
}

Si vous avez une idée du problème, un bug du composant? Ou alors un détail qui m'aurait simplement échappé?

Merci de vos réponses.

Dernière modification par draghysck (12-01-2011 14:36:11)

Hors ligne

 

#2 10-02-2011 11:52:15

arnolem
Membre
Lieu: Rouen
Date d'inscription: 15-04-2010
Messages: 12
Site web

Re: [Zend_Http][1.10.6] - Timeout non géré?

Salut,

Tu peux toujours essayer de faire ça ;

Code:

// Récupère la valeur actuelle du timeout
$old_timeout = ini_get('default_socket_timeout');

// Défini un timeout à 1 sec pour tester
ini_set('default_socket_timeout', 1);

/*
  Lancement des TRAITEMENTS vers GOOGLE
*/

// Réinitialise le timeout
ini_set('default_socket_timeout', $old_timeout );

Hors ligne

 

Pied de page des forums

Propulsé par PunBB
© Copyright 2002–2005 Rickard Andersson
Traduction par punbb.fr

Graphisme réalisé par l'agence Rodolphe Eveilleau
Développement par Kitpages