Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
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 :
// 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
Salut,
Tu peux toujours essayer de faire ça ;
// 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