• Publicidad

Tiempo máximo de ejecución

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

Tiempo máximo de ejecución

Notapor cargarm3 » 2011-03-03 12:38 @568

Hola, probando un script (tarda bastante en ejecutarse, unos 10-20 segundos) veo que de una deja de funcionar si cambio una serie de parámetros (trabajando con librería GD, al trabajar con una imagen cada vez mayor).

¿Sabéis si por norma general un hosting (en mi caso 100WebSpace) tiene un parámetro como el maximun_execution_time de php.ini donde si estás más de 10 segundos, te tire?

¿Alguna opción para cambiar este parámetro?

Un saludo.
cargarm3
Perlero nuevo
Perlero nuevo
 
Mensajes: 10
Registrado: 2011-01-28 11:37 @525

Publicidad

Re: Tiempo máximo de ejecución

Notapor explorer » 2011-03-03 12:53 @578

Sí, yo también tengo puesto ese límite a los procesos.

Es una norma de seguridad, para impedir que haya una denegación de servicio, a causa de que algún usuario tenga un programa con algún error de programación o de seguridad.

Es para evitar, sobretodo, que la CPU se dedique a una sola tarea, durante un máximo de tiempo.

Tendrás que hablarle con ellos para pedirles más tiempo.

Apuesto 95 contra 1 a que te dicen que no.
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: Tiempo máximo de ejecución

Notapor cargarm3 » 2011-03-03 13:00 @584

Me parece que voy a tener que habilitar un PC personal como servidor, porque, visto lo visto, o contrato un hosting personalizado (con el dinero que me supondría) o no voy a poder hacer el proceso online...

¿Alguna otra solución aparte de esa?
cargarm3
Perlero nuevo
Perlero nuevo
 
Mensajes: 10
Registrado: 2011-01-28 11:37 @525

Re: Tiempo máximo de ejecución

Notapor cargarm3 » 2011-03-04 11:15 @510

Ufff, menos mal... en 100webspace me han aumentado el tiempo de ejecución de mi script en Perl a 120 segundos, y mi script funciona ahora perfectamente.

Parece que veo algo de luz al final del túnel (tras buscar un hosting con GD para Perl, tiempos de ejecución, etc), ahora a optimizar el script...

Ahora, a ver si me devuelven el dinero de piensasolutions (que va a ser que no), que no han querido instalarme el módulo GD para Perl... y mira que les dí las instrucciones para que hicieran copiar y pegar...

Saludos.
cargarm3
Perlero nuevo
Perlero nuevo
 
Mensajes: 10
Registrado: 2011-01-28 11:37 @525

Re: Tiempo máximo de ejecución

Notapor cargarm3 » 2011-03-08 10:52 @495

Pese a que me comentan que el tiempo de ejecución de mi script en perl es de 120 segundos, a los 35-40 segundos el script se detiene (aparece una pantalla en blanco).

No parece una razón de código, puesto que al trabajar con imágenes más pequeñas funciona bien, solo falla al aumentar el tamaño de las imágenes que trabajo con GD.

¿Alguna posible razón? ¿Es posible el poder ver un log del porqué razón me tira del servidor (use CGI::Carp qw(fatalsToBrowser); no sirve)?

Un saludo. (El script está en http://www.fotocontexto.tk/prueba_no_ok.pl)
cargarm3
Perlero nuevo
Perlero nuevo
 
Mensajes: 10
Registrado: 2011-01-28 11:37 @525

Re: Tiempo máximo de ejecución

Notapor explorer » 2011-03-08 15:23 @682

Puedes hacer una versión del programa que saque a pantalla (a la página web) los tiempos de ejecución de cada parte del programa, en lugar de la salida normal del programa.

Es decir, en lugar de sacar el código HTML y las fotos retocadas, en cada parte importante o en las funciones que sospechas que son lentas, generas una salida del tiempo que ha tardado en ejecutarse esa parte.

Los tiempos los mides con localtime(), que te dará una resolución en segundos (Time::HiRes te dará mayor resolución si fuera necesario).

La salida la defines al principio como text/plain. Y pones la variable $| a 1 para que la salida a pantalla sea en tiempo real. Así vas viendo qué es lo que está haciendo.

Al final de cada sección, mides el tiempo que ha tardado en ejecutarse:

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
$ahora = localtime();
$lapso = $ahora - $antes;
print "Sección XXX: $lapso segundos\n";
$antes = $ahora;   # para la siguiente sección
Coloreado en 0.002 segundos, usando GeSHi 1.0.8.4


El enlace que has puesto solo saca un número.
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


Volver a Básico

¿Quién está conectado?

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