Foros del Web » Programando para Internet » PHP »

Sobre Cron

Estas en el tema de Sobre Cron en el foro de PHP en Foros del Web. Hola amigos que tal, ya he conseguido informacion acerca de como usar CRON JOB del servidor, ahora mi consulta es la siguiente. Como tengo un ...
  #1 (permalink)  
Antiguo 29/09/2006, 10:35
 
Fecha de Ingreso: marzo-2002
Ubicación: Salta Capital - Actualmente estudiando en Córdoba
Mensajes: 430
Antigüedad: 22 años, 1 mes
Puntos: 0
Sobre Cron

Hola amigos que tal, ya he conseguido informacion acerca de como usar CRON JOB del servidor, ahora mi consulta es la siguiente.

Como tengo un portal, y la parte mas pesada es una agenda de eventos, donde el administrador puede setear varios eventos, al setearlos y activar la alarma se dispara un email para cada usuario, que al momento son 3000

Lo hice es hacer una clase que envia 45 emails y se duerme 5 minutos y asi sucesivamente hasta que no queden emails, pero como durante el dia se pueden agregar emails a esa cola, la pregunta es la siguiente, supongamos que muere el script.php pero ahora necesita volver a cargar unos 45 emails, funcionaria colocar en el script un header("Location: ".$_SERVER['PHP_SELF']) ???
Esa es mi duda, cuestion de ejecutar el script todos los dias a las 24 hs y que corra como demonio digamos.

La pregunta concreta es si un script ejecutado por CRON soporta un redireccionamiento recurrente a si mismo con Header por ejemplo, o mi unica solucion es hacer que se ejecute cada x minutos?
Esta ultima opcion me haria modificar todo mi script y los calculos de tiempo que tengo ya realizados.

Desde ya muchas gracias.-
__________________
Nada es imposible, con un poco de esfuerzo se logran las cosas.-
  #2 (permalink)  
Antiguo 30/09/2006, 10:44
 
Fecha de Ingreso: octubre-2003
Ubicación: Veracruz, México
Mensajes: 169
Antigüedad: 20 años, 6 meses
Puntos: 0
CLI sería una buena opción para correr un programa en el CRON

Si vas a usar un CRON creo que es mejor que realices un programa tipo scripting que realice el proceso que comentas y lo corras a través de CLI (Command Line Interface). Como si estuvieras ejecutando un .exe o un .pl

Desconozco con exactitud si en un programa en CLI puede instanciar clases, pero me imagino que debe de poder.

Aquí nada más tienes que revisar si el PHP del servidor donde está alojada tu aplicación está compilada con el soporte para CLI. Checa esta liga donde se habla más al respecto.

http://www.php.net/manual/en/features.commandline.php

Si no está activada puedes usar lynx o curl para correrlo como si fuera un script, pero yo creo que el header definitivamente no funcionaría, aunque en lynx podría darse el caso.

Como te digo, lo mejor es a través de CLI.

Saludos
  #3 (permalink)  
Antiguo 30/09/2006, 18:39
 
Fecha de Ingreso: marzo-2002
Ubicación: Salta Capital - Actualmente estudiando en Córdoba
Mensajes: 430
Antigüedad: 22 años, 1 mes
Puntos: 0
Muchas gracias por la respuesta, ahora, mi server tiene el cron job, poniendo el comando correspondiente, no se ejecutaria directamente mi script dejando de lado lo del header, para hcer que corra cada 5 minutos por ejemplo.
O si o si tengo que usar el CURL CLI o esa data que me pasaste mas abajo?
Desde ya muchas gracias.-
__________________
Nada es imposible, con un poco de esfuerzo se logran las cosas.-
  #4 (permalink)  
Antiguo 03/10/2006, 08:35
 
Fecha de Ingreso: octubre-2003
Ubicación: Veracruz, México
Mensajes: 169
Antigüedad: 20 años, 6 meses
Puntos: 0
En el cron puedes indicarle cada cuanto quieres que se ejecute y asi ya no requieres el header para andar indicandole que se duerma y vuelva a ejecutar.

Si es una chamba pesada no pienses resolverla como si estuvieras en Web sino como una rutina que hace ese trabajo sin que la parte Web se vea afectada por el funcionamiento y sólo se beneficie de los resultados de dicho proceso.

Saludos
  #5 (permalink)  
Antiguo 03/10/2006, 14:21
 
Fecha de Ingreso: marzo-2002
Ubicación: Salta Capital - Actualmente estudiando en Córdoba
Mensajes: 430
Antigüedad: 22 años, 1 mes
Puntos: 0
Muchas gracias amigos, lo resolvi poniendo como comando lo siguiente

wget http://www.misitio.com.ar/pagina_proceso.php

Para que se ejecute cada 10 minutos, me funciona de pelos!.
Muchas gracias a todos por el aporte, espero les sirva esto ultimo que me fue bastante dificil de conseguir.

Saludillos.-
__________________
Nada es imposible, con un poco de esfuerzo se logran las cosas.-
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:54.