servidor - stream socket php
PHP stream_socket_client ignorando el tiempo de espera (0)
Estoy usando zend_mail
de zend-framework2
en mi proyecto para enviar cierta cantidad de correos electrónicos en un bucle, pero a veces lleva más de lo normal enviar un correo electrónico. Después de investigar un poco, descubrí que el retraso se produce en la función stream_socket_client
. Traté de establecer el tiempo de espera de esta función en un valor aceptable, pero parece ignorar esa configuración. También intenté usar STREAM_CLIENT_PERSISTENT
para limitar el número de tomas abiertas pero sin suerte.
Los tiempos medios de stream_socket_client
son de aproximadamente 0,03 segundos y, ocasionalmente, de 5 segundos hasta 40 segundos. Cada valor por encima de 0.5 segundos es inaceptable para mí. No tengo ideas sobre qué puede causar ese problema.
Configuración actual:
$start = microtime(true);
$this->socket = @stream_socket_client($remote, $errorNum, $errorStr, self::TIMEOUT_CONNECTION, STREAM_CLIENT_CONNECT|STREAM_CLIENT_PERSISTENT);
echo ''Stream socket: ''.(microtime(true) - $start);