Saludos, estoy desarrollando una aplicación web. Una parte permitirá a los usuarios programar un correo electrónico de "recordatorio" para que se les envíe a una hora determinada del día. Cuál es la mejor manera de lograr esto? Básicamente, todas las soluciones que he encontrado operan en un patrón de "sondeo" cuando lo que quiero es un patrón de "interrupción".¿La mejor manera de programar dinámicamente el correo electrónico de recordatorio? ¿Algo mejor que cron?
Aquí están algunas soluciones posibles Yo he llegado con:
tiene un incendio cronjob cada minuto. La secuencia de comandos que se activa comprueba una base de datos para ver si hay correos electrónicos para enviar, si los hay, los envía, de lo contrario vuelve a dormirse. Un inconveniente con esto es que hay un poco de gastos generales incurridos cada minuto. Además, este puede no ser un sistema escalable, especialmente cuando la cantidad de usuarios es tan grande que puede llevar más de un minuto enviar todos los correos electrónicos.
Igual que el n. ° 1, pero el trabajo solo se dispara cada 15 minutos. Esto es un poco más manejable, pero no perfecto, ya que restringe a los usuarios a los recordatorios en las marcas de 15 minutos, y aún incurre en un poco de sobrecarga cuando no hay correos electrónicos para enviar. No está mal, pero tampoco perfecto.
Tenga PHP exec() un poco de código que altera dinámicamente crontab o programa un trabajo "at" en el Linux subyacente. Esto me daría la flexibilidad y el modelo de tipo "interrupción" que tanto anhelo, pero abriría un gran vacío de seguridad al permitir PHP ejecutar código de Linux. Por lo tanto, voy a seguir adelante y descartar este.
Entonces, ¿algo mejor que lo que se me ocurrió? ¿Tal vez una forma de programar el correo electrónico sin usar cron? Tengo mucha curiosidad por ver lo que ustedes tienen que decir sobre esto :).
Incluso los desarrolladores de Postfix recomiendan utilizar trabajos cron para la programación de correo. Por cierto, nada de malo con el uso de 'exec' con cuidado. Es más probable que se exploten debido a los desbordamientos del búfer de PHP que a los comentarios de shell diligentes en otras partes de su código. – mario
http://stackoverflow.com/questions/6278940/scheduling-a-regular-event-cron-cron-alternatives-including-celery. Parece similar a esta pregunta, ¿no? – Kizz