Timeout Guzzle

Buenas, tenemos un problema cuando consumimos un web service desde Guaraní 3 y el mismo está caído. Lo qué sucede es un timeout y luego aparece el error correspondiente. El problema es que el timeout es el default de Guzzle y es de 120 segundos, los que nos parece muchísimo. Sería buenísimo poder configurarlo desde el cliente.ini, como se configuran otras cosas del cliente. Saludos!

Hola Pablo,

es una opcion interesante, probaron incluyendo el parametro connect_timeout en el archivo cliente.ini en la parte de la conexion?.. es un float segun la documentacion de guzzle. Lo unico malo es que aparentemente depende de que esten utilizando para conectarse, supongo que el limite de 120 viene dado por el stack TCP mas que por Guzzle directamente.

connect_timeout ---------------

:Summary: Float describing the number of seconds to wait while trying to connect
to a server. Use 0 to wait indefinitely (the default behavior).
:Types: float
:Default: 0

… note::

This setting must be supported by the HTTP handler used to send a request.
``connect_timeout`` is currently only supported by the built-in cURL
handler.</blockquote>

My bad… ahora que miro el codigo veo que Toba esta pasando explicitamente ciertos parametros… con lo cual lo que te decia arriba… no hace nada… de otra opcion podria ser hacer lo siguiente (tambien de la doc de Guzzle):

// Timeout if the client fails to connect to the server in 3.14 seconds. $client->get('/delay/5', ['connect_timeout' => 3.14]);

Fijate si con esa manera de llamar hay alguna diferencia… al menos hasta que suba las modificaciones para incorporar los otros parametros.

Saludos

Por lo que estuve viendo, lo que ponemos en el cliente.ini no va directo al constructor del Guzzle. En la clase toba_servicio_web_cliente_rest en la función guzzle(), se definen varios setDefaultOption en base a las opciones que vienen en el ini. Nosotros no podemos personalizar esta parte porque está en el core de Toba, pero lo que haría sería agregar otro seteo de DefaultOption con el timeout. Saludos!