servidor activo.
Ricardo Mun~oz A.
rmunoz en pjud.cl
Lun Mar 27 14:39:19 CLT 2006
Rodrigo Espinosa escribió:
[...]
> Resulta que necesito, una vez generado un evento en una pagina web (PHP +
> MySQL), genere una serie de "eventos" programados en el tiempo,
> especificamente que envie correos con cierta periodicidad.
>
> Para extender la explicacion:
>
> 1.-Genero un reporte.
> 2.-Se envia un correo informando que se ha generado.
> 3.-30 minutos despues, se envia otro correo informando que ha pasado media
> hora y el evento no ha sido solucionado.
> 4.-90 minutos despues(de 2), se envia otro correo informando que ha pasado
> una hora y media, y el evento no ha sido solucionado.
> .
> .
> .
> 5.-evento solucionado.
>
> Lo que aun no se como realizar, son los puntos 3 y 4 (y otros mas, de la
> misma indole, si se definiera).
>
podrias hacer lo siguiente:
- al generar el reporte envias el correo e insertas en la BD un registro
(en una tabla)
que indique la fecha/hora de la generacion del reporte.
- te creas un programa PHP que sirva como "monitor" de la tabla que
contiene la
info de los reportes generados. el monitor se encargara de revisar
cada 1 minuto
en la BD todos los reportes no solucionados y que hayan sido generados
hace
30min (punto 4) y 90min (punto 5), envie los mails, etc.
- si usas Linux, el "monitor" lo puedes agregar en un crontab para ser
ejecutado
cada 1 min. con el comando 'crontab -e' y luego ingresando
0-59/1 * * * * /usr/bin/php -q /ruta/monitor.php
obs. no necesitas tener corriendo el Apache, basta con el interprete de PHP
via linea de comandos.
--
Ricardo Mun~oz A.
Usuario Linux #182825 (counter.li.org)
Más información sobre la lista de distribución PHP