• Publicidad

Mostrar progreso en el navegador de script Perl

¿Apenas comienzas con Perl? En este foro podrás encontrar y hacer preguntas básicas de Perl con respuestas aptas a tu nivel.

Mostrar progreso en el navegador de script Perl

Notapor panterozo » 2011-03-29 14:07 @630

Estimados:

Tengo una función PHP que hace una llamada a system(perl programa.pl); El programa.pl lee desde un documento n* cantidad de palabras y analiza cada una de ellas.

El problema es que, cuando son unas 700 palabras, el programa nunca termina, pero al hacer print(), para ver cuál de las palabras está analizando no lo muestra en el html, solo cuando se termina la ejecución del script. Además, tengo un script cgi, que sucede lo mismo... no muestra la información enseguida, sino que espera a que termine la ejecución y me muestra todo de una sola vez...

I needsome help please :s

¡¡¡Saludos!!!
panterozo
Perlero nuevo
Perlero nuevo
 
Mensajes: 160
Registrado: 2010-01-26 08:36 @400

Publicidad

Re: Mostrar progreso en el navegador de script Perl

Notapor explorer » 2011-03-29 16:42 @737

Y si ejecutas el programa.pl por sí solo, ¿también queda colgado?

Si ves que la salida no sale en tiempo real, acuérdate de poner

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
$|++;  # no caché
Coloreado en 0.002 segundos, usando GeSHi 1.0.8.4


en las primeras líneas del programa, para que la salida de los textos sea inmediata.

Si sospechas que hay errores, puedes mirar el contenido de los registros de actividad (log) del servidor web, o usar CGI::Carp.

Sin ver el código, poco más se puede decir...
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Re: Mostrar progreso en el navegador de script Perl

Notapor panterozo » 2011-03-30 13:52 @620

Explorer:

Gracias por la respuesta ;)... la solución que me das funcionó para el script cgi... muestra la info a medida que la obtiene...

Para el system(), al parecer PHP espera a que la ejecución del programa termine para luego continuar con la ejecución de PHP. De ser así, no importa si $|++ está o no en el programa.pl, ya que quedaría en control de PHP.

El programa.pl si es corrido por consola, en efecto muestra las filas de una tabla tipo:

<td>nombre<td>
<td>dns 1<td>
<td>dns 2<td>


... a medida que obtiene los datos.

Mi solución sería pasar el programa.pl a CGI, y modificar aquellas páginas que realizan los POST, y un sin fin de cosas más... Espero haya otra solución.

En los logs tampoco existen errores generados por el programa.pl

¡¡Saludos!!
panterozo
Perlero nuevo
Perlero nuevo
 
Mensajes: 160
Registrado: 2010-01-26 08:36 @400

Re: Mostrar progreso en el navegador de script Perl

Notapor explorer » 2011-03-30 13:59 @624

Lo más seguro es que el system() del PHP esté capturando la salida estándar del programa Perl.

La solución es muy sencilla: no usar PHP.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Re: Mostrar progreso en el navegador de script Perl

Notapor panterozo » 2011-03-30 14:09 @631

xD

En realidad no puedo hacer eso...

¿Alguna otra idea?
panterozo
Perlero nuevo
Perlero nuevo
 
Mensajes: 160
Registrado: 2010-01-26 08:36 @400

Re: Mostrar progreso en el navegador de script Perl

Notapor explorer » 2011-03-30 16:43 @738

Bueno, es la respuesta típica de un foro de Perl :)

Es casi seguro que en PHP se pueda crear un proceso secundario entubando su salida estándar con nuestra entrada estándar. Pero en PHP no sé cómo se hace (y, la verdad, no me importa).

Quizás tengas más suerte en algún foro de PHP...
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Re: Mostrar progreso en el navegador de script Perl

Notapor panterozo » 2011-03-30 19:21 @847

Lo voy a pasar a un cgi... al parecer es la mejor solución...

gracias = ;)

Saludos
panterozo
Perlero nuevo
Perlero nuevo
 
Mensajes: 160
Registrado: 2010-01-26 08:36 @400


Volver a Básico

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 39 invitados