8/20/2012

Timeout en SoapClient en PHP

Según la documentación oficial de PHP, al crear un objeto de la clase "SoapClient" se puede pasar como parámetro la configuración del "timeout", pero esto no siempre funciona:

$ws = new SoapClient($url_wsdl, array('connection_timeout' => $segundos));

La documentación dice al respecto:
La opción connection_timeout define el tiempo de espera en segundos para la conexión del servicio SOAP. Esta opción no define el tiempo de espera para servicios con respuestas lentas. Para limitar el tiempo de espera para finalizar las llamadas, está disponible la opción default_socket_timeout.
Si el servicio web es muy lento en responder se puede definir el tiempo de espera predeterminado (en segundos) para sockets basados en flujos. Agregamos la siguiente linea antes de crear el objeto:

ini_set('default_socket_timeout', $segundos);

Fuentes
http://www.php.net/manual/es/soapclient.soapclient.php
http://www.php.net/manual/es/filesystem.configuration.php#ini.default-socket-timeout

8/01/2012

Instalar Arduino en Ubuntu


Solo por curiosidad adquirí una placa Arduino Uno, y lo primero que hice fue buscar si tiene soporte para Linux. La herramienta de desarrollo está disponible para en el sitio oficial para descargar, descomprimir y ejecutar, este no necesita ser instalado (está desarrollado en Java).

Hay que instalar el compilador gcc-avr y las librerías avr-libc:

sudo apt-get install gcc-avr avr-libc

Ahora falta asignarnos los permisos para que el USB pueda ser ocupado como puerto de conexión a la placa Arduino:

sudo usermod -a -G dialout usuario

Como la herramienta para compilar y subir los scketch a la placa Arduino es ejecutada sobre java, tendremos que instalar el paquete sun-java6-jre:

sudo add-apt-repository ppa:ferramroberto/java
sudo apt-get update
sudo apt-get install sun-java6-jre sun-java6-plugin sun-java6-fonts


Podemos probar si java quedó instalado correctamente con el comando "java -version".


Fuentes
http://arduino.cc/en/Main/Software
http://usemodj.com/blog/?p=409
http://arduino.cc/es/Tutorial/Sketch