Estoy ejecutando un script de terceros mediante el uso de una clase contenedora que he escrito que llama a shell_exec()
y canaliza a un archivo que analizo luego usando el código php. Debo mencionar que esto está funcionando, pero estoy tratando de mejorar la funcionalidad, habiendo encontrado un caso de uso en el que no había pensado.shell_exec() timeout management & exec()
¿Cómo es mejor administrar el tiempo de espera en shell_exec()? Estaba pensando en envolverlo en un try() catch()
pero no estoy seguro de cómo manejar mejor el componente de tiempo.
He estado leyendo algunas preguntas aquí en relación con shell_exec()
y exec()
y parece que al pasar parametros de salida a exec()
puede obtener un retorno, pero eso no se basan en la secuencia de comandos para terminar con un estado de retorno. Además, en mi página de mini prueba, parece que no puedo obtener ningún resultado.
La otra opción que pensé fue utilizar un diálogo modal, con un spinner de estilo ajax mientras funcionaba el script, y establecer un tiempo de espera manual en javascript. Lo cual le dio al usuario un mensaje de diálogo modelo sobre fallas/tiempo de espera y finalización.
¿Hay algún método aceptado para este caso de uso?
mi mini prueba, consistió en lo siguiente,
public $e_return = array();
public $e_status = '';
// Paths are absolute from/
public function execCheck($domain){
exec($this->ssl_check_path." -s ".$domain." -p 443 > ".$this->folder.$this->filename." 2>&1 &", &$this->e_return, &$this->e_status);
}
// Returns
Array
(
)
0
Con esta pregunta ref, Can't execute PHP script using PHP exec
http://www.php.net/manual/en/function.exec.php
Gracias Voy a dar que un intento hoy y ver cómo voy :) –
También encontré esta pregunta muy útil, http://stackoverflow.com/questions/2603912/php-set-timeout-for-script-with-system-call-set-time-limit-not-working –