• Publicidad

Configurar script para que se ejecute cada cierto tiempo

Así que programas sin strict y las expresiones regulares son otro modo de hablar. Aquí encontrarás respuestas de nivel avanzado, no recomendable para los débiles de corazón.

Configurar script para que se ejecute cada cierto tiempo

Notapor danimera » 2011-08-18 07:09 @340

Buen día a todos...

Lo que necesito saber es cómo podría hacer un script, para administrar unos bots que se deben ejecutar cada cierto tiempo.

Ej.

Que un bot que va a mi página a checar información se ejecute cada 2 horas.

Sé que lo podría hacer con un cron jobs pero, ¿hay forma de administrar esos jobs, si ya hay alguna solución, o que se puedan crear esos jobs por un administrador?

Lo ideal es que fuera para Windows y Linux...

Gracias.
100% Telch - Perl Web Programming
Cali PerlMongers: http://cali.pm.org
Avatar de Usuario
danimera
Perlero frecuente
Perlero frecuente
 
Mensajes: 871
Registrado: 2005-06-23 19:02 @834
Ubicación: Colombia

Publicidad

Re: Configurar script para que se ejecute cada cierto tiempo

Notapor explorer » 2011-08-18 10:07 @463

El problema de Windows es que, en cada nueva versión que saca Micro$oft, te puede cambiar la forma de realizar las tareas programadas.

Lo normal es usar el Task Scheduler (Tareas Programadas) del Panel de Control, pero en algunas versiones no está, o tiene otro nombre. También existe el comando at, que intenta igualar en prestaciones al comando del mismo nombre en UNIX. Y tampoco está garantizado que esté en todas las versiones de Windows.

Hay algunos módulos en Perl que realizan la gestión de tareas, tanto en Linux como en Windows (mucho más en Linux, por supuesto, y muy pocos que lo hagan en los dos sistemas a la vez).

He encontrado Sys::Manage::Desktops, snaked, EV y el recomendado AnyEvent.

Yo siempre he usado el cron del sistema, porque me es cómodo, lo conozco desde hace mucho tiempo, y... porque solo uso Linux, naturalmente :)
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14476
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Re: Configuarar script para que se ejecute cada cierto tiempo

Notapor danimera » 2011-08-18 10:43 @488

Pues sí, yo sé usar el cron de UNIX...

Pero alguno de estos módulos permite agregar los cron, verlos y editarlos, a eso es que me refiero...

Ahí creo entender alguno para que ejecute un script de Perl un sub...

¿Cuál has usado para ello, explorer?

¿Cómo ves este módulo: http://search.cpan.org/~roland/Schedule ... le/Cron.pm
http://search.cpan.org/~roland/Schedule-Cron-1.01/lib/Schedule/Cron.pm?
100% Telch - Perl Web Programming
Cali PerlMongers: http://cali.pm.org
Avatar de Usuario
danimera
Perlero frecuente
Perlero frecuente
 
Mensajes: 871
Registrado: 2005-06-23 19:02 @834
Ubicación: Colombia

Re: Configurar script para que se ejecute cada cierto tiempo

Notapor explorer » 2011-08-18 12:00 @542

Pero como has comentado a Windows, he supuesto que te referías a buscar una solución que funcionara en ambos sistemas. Y cron no está (que yo sepa) para un Windows pelado.

Si estás interesado en la gestión de los ficheros crontab, hay unos cuántos módulos al respecto, como Config::Crontab.

Y no... no he usado ninguno de forma directa.

Yo soy más de editar los ficheros crontab "a pelo".

Bien es cierto que, en algunos instalaciones, es interesante saber de alguna manera que permita instalar, de forma automática, este tipo de archivos. Yo no he usado estos sistemas, pero he leído sobre FAI, pero me parece que no es lo que buscas.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14476
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Re: Configurar script para que se ejecute cada cierto tiempo

Notapor danimera » 2011-08-21 14:42 @654

Gracias, explorer. Entonces según lo que veo, los cron jobs los tengo que crear manualmente y luego con el Config::Crontab manipularlos y/o editarlos... Eso sería interesante. Bueno, al final trabajaremos solo en Linux. En Windows es algo más fácil pero se trabajará en Linux ya que son muchos bots los que se harán.

La parte de instalar automáticamente me parece super, pero requiere mas investigación.
100% Telch - Perl Web Programming
Cali PerlMongers: http://cali.pm.org
Avatar de Usuario
danimera
Perlero frecuente
Perlero frecuente
 
Mensajes: 871
Registrado: 2005-06-23 19:02 @834
Ubicación: Colombia

Re: Configurar script para que se ejecute cada cierto tiempo

Notapor explorer » 2011-08-21 15:23 @683

Si van a ser muchas programaciones quizás lo mejor es que se haga completamente en Perl, en un programa que no termine nunca, con AnyEvent, por ejemplo.

Lo bueno del sistema de cron es que puedes modificar cada programación por separado, sin interferir en el funcionamiento de los demás.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14476
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Re: Configurar script para que se ejecute cada cierto tiempo

Notapor danimera » 2011-08-21 19:17 @845

Actualmente tenían uno en PHP que al parecer consumía todo el server. El que hizo eso se retiró, imagino le quedó grande...

Ahora en Perl con lo que me dices, pensé que el AnyEvent era para manipular cron :S ... Creo que sería más fácil con AnyEvent porque al parecer la configuración de los bots la tomaría desde una tabla MySQL directamente. O me equivoco :S
100% Telch - Perl Web Programming
Cali PerlMongers: http://cali.pm.org
Avatar de Usuario
danimera
Perlero frecuente
Perlero frecuente
 
Mensajes: 871
Registrado: 2005-06-23 19:02 @834
Ubicación: Colombia

Re: Configurar script para que se ejecute cada cierto tiempo

Notapor explorer » 2011-08-22 05:09 @256

No creo que tenga que ver con base de datos.

Lo que dice la documentación es que AnyEvent, es al sistema de gestión de eventos, como el DBI es al sistema de gestión de bases de datos. Es un símil. Quiere decir que con AnyEvent se puede programar eventos, temporizadores, disparadores, con una sintaxis completamente independiente del módulo que se vaya a utilizar para hacerlo (EV, Event, Glib, Tk, Perl, Event::Lib, Irssi, rxvt-unicode, IO::Async, Qt y POE).

Pero no cuesta mucho hacer un temporizador que se encargue de, periódicamente, acceder a una base de datos, y ver si tiene que eliminar o levantar más temporizadores.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14476
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España


Volver a Avanzado

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado