Ver Mensaje Individual
  #1 (permalink)  
Antiguo 03/10/2008, 14:08
Suyta
(Desactivado)
 
Fecha de Ingreso: septiembre-2004
Mensajes: 360
Antigüedad: 19 años, 7 meses
Puntos: 1
flock() para correr 1 proceso a la vez

Hola
Desde crontab ejecuto un script cada 3 minutos.
El proceso busca en una tabla y abre páginas externas usando CURL para controlar cambios, si los encuentra envía email al admin y actualiza la tabla.
Parece que cuando el proceso es lento (seguramente cuando la página que abro está lenta) se produce una superposición, es decir, el cron empieza un segundo proceso SIN haber terminado el primero y entonces envía el email con los datos mezclados.
Googleando veo que puedo evitarlo con flock() pero no entiendo cómo hacerlo ni qué significa exactamente.

Alguien tiene idea sobre esto y 1 minuto para ayudarme ?

Aclaro: no puedo definir más tiempo en el cron porque es una tabla con miles de archivos y necesito mínimo 3 min.