• Publicidad

Temporizador en Perl

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

Temporizador en Perl

Notapor scout » 2009-12-09 12:02 @543

Necesito que un script se ejecute cada 5 horas, por ejemplo. ¿Hay algún timer para estas cosillas...?
Última edición por explorer el 2009-12-09 12:56 @581, editado 1 vez en total
Razón: Ortografía
scout
Perlero nuevo
Perlero nuevo
 
Mensajes: 228
Registrado: 2009-10-28 13:50 @618

Publicidad

Re: Temporizador en Perl

Notapor explorer » 2009-12-09 13:07 @588

Lo normal es usar las facilidades de temporización del sistema operativo, como las Tareas programadas de Windows o el sistema de cron o at de UNIX/Linux.

Otra opción es dejar un programa siempre funcionando, y que se "despierte" cuando pasa ese tiempo.

En Perl tienes el comando sleep(), que para el programa por el número de segundos indicados. Así,

sleep 5 * 60 * 60;

Esperará esas 5 horas antes de continuar.

Otra opción más es hacer un bucle sin fin, pero que no consuma recursos de CPU o sistema operativo, y que cuando se cumpla ese periodo:
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
use Every;

while("para siempre") {
    if (every(seconds => 5 * 60 * 60)) {
        print "Han pasado 5 horas\n";
    }
    # ...
    sleep 10; # esperamos 10 segundos
}
Coloreado en 0.002 segundos, usando GeSHi 1.0.8.4
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 23 invitados

cron