2009-02-03 26 views
6

Tengo algunas funciones que usan curl para extraer información de un par de sitios e insertarlos en mi base de datos. Me preguntaba cuál es la mejor manera de ejecutar esta tarea cada 24 horas.ejecutando una tarea php cada 24 horas

Me estoy escapando de Windows ahora, pero probablemente cambie a Linux una vez que esté en vivo (si eso hace la diferencia). Estoy trabajando dentro del framework symfomy ahora.

He escuchado que los cronjobs pueden hacer esto ... pero al mirar el sitio parece que funciona de manera remota y prefiero mantener todo en mi casa ... ¿Puedo simplemente "ejecutar un servicio" en mi computadora? sea ​​lo que sea;) (lo han escuchado utiliza)

gracias por cualquier ayuda, Andrew

Respuesta

17

Esto es exactamente lo Cron (Linux) o Scheduled Tasks (ventanas) son para.

Puede ejecutarlos en su servidor de aplicaciones para mantener todo en un solo lugar.

Por ejemplo, tengo un cron ejecutándose en mi servidor doméstico para realizar copias de seguridad de sus bases de datos MySQL todos los días. Solo un sistema está involucrado en este proceso.

1

Puede establecer una tarea programada en cron (o una tarea programada en Windows). La forma más fácil es crear un script de shell (script por lotes en Windows) que ejecute el script php desde la línea de comandos (gracias a esto no es necesario usar los recursos del servidor www). Por supuesto, ejecuta el script en la máquina de destino.

7

Agregar 0 0 * * * php /path/to/your/cronjob.php a su crontab debe lograr esto.

0

Si por lo que deciden que cron o ventanas planificador no es apropiado, he encontrado a veces es útil para escribir una aplicación Java rápida que hace la misma cosa:

Puede utilizar las llamadas System.getRuntime().exec("cmd line stuff here");. A continuación, puede urdir esa operación en un TimerTask. Finalmente, enciendes un objeto Timer agregando TimerTasks y especificando los tiempos y la frecuencia, etc ...

Esto es claramente más complicado que los ejemplos mencionados anteriormente; sin embargo, me gusta porque puedes enviar un mensaje de error inteligente y enviarlo usted mismo envía alertas por correo electrónico o algo similar cuando algo se arruina.

Probablemente exagerado, pero posiblemente valga la pena considerarlo si alguna vez tiene que lidiar con varias de estas operaciones.

sweeney

Cuestiones relacionadas