Cómo ejecutar un script PHP un tiempo específico que se almacena en la base de datos MySQL

Cron no se considera una mala práctica. Básicamente necesita un mecanismo de votación. Cualquier sistema asincrónico tiene un mecanismo de sondeo constante y liviano que sigue verificando si se produjo algún evento y llama a la actividad respectiva para procesar el evento.
Ahora en tu caso. Configura un cron para cada minuto. Ejecute una consulta para que coincida con todas las filas que coinciden con la hora actual … Asegúrese de que sus tiempos no tengan segundos porque su cron se ejecutará cada minuto. Lo más importante es indexar la columna que contiene el tiempo … Esto le devolverá todos los resultados requeridos de la base de datos en milisegundos. Luego solo procese estos resultados para enviar el mensaje.
Incluso si usa algún otro mecanismo para hacerlo, eventualmente lo hará con la misma lógica.

Editar: Agregar a mi respuesta para explicar.
No tiene que configurar varios crons. Debe configurar solo un cron que se ejecuta cada minuto.
Suponiendo que tiene las siguientes estructuras de tabla

Tabla de usuarios:

id | nombre | apellido | correo electrónico
1 andy luton | [correo electrónico protegido]
2 juan doe | [correo electrónico protegido]
3 alguien más | [correo electrónico protegido]

Tabla de notas:

id | user_id | nota | hora
1 2 compre leche 2015: 03: 25 14:22:00
2 3 ir al gimnasio 2015: 03: 25 14:22:00
2 3 Algo 2015: 03: 25 20:15:00

Cada minuto este cron ejecuta la siguiente consulta

SELECCIONE users.firstname, users.email, notes.note FROM users INNER JOIN notes en user.id = notes.user_id WHERE time = CURRENT_TIME
Puede obtener la hora actual de PHP, pero asegúrese de establecer los segundos en 00.
Esta consulta le dará todos los resultados para los cuales debe enviarse un correo electrónico.

Ahora envíe los correos electrónicos:
foreach ($ resultados como $ fila)
{
// Enviar correo electrónico a $ fila [‘correo electrónico’] con cuerpo como $ fila [‘nota’]
}

NO debe usar la consulta exacta dada anteriormente. Debería obtener los resultados de la base de datos en fragmentos. Obtener todos los resultados de una sola vez es una mala práctica, ya que puede tener miles de filas que coincidan con los criterios y es muy posible que se quede sin memoria y enfrente cientos de problemas.

Crear trabajo cron a través de php en el tiempo definido por el usuario. El trabajo de Cron se ejecutará en ese momento en particular.

Shirsendu Sarkar , no creo que entiendas lo que digo. ¡Hay miles de usuarios y quieres que cree cron para todos y cada uno de ellos! eh?

Cron no se considera una mala práctica.

Básicamente necesita un mecanismo de votación. Cualquier sistema asíncrono tiene un mecanismo de sondeo constante y liviano.
que sigue comprobando si ocurrió algún evento y llama a la actividad respectiva para procesar el evento.

Ahora en tu caso. Configura un cron para cada minuto. Ejecute una consulta para que coincida con todas las filas que coinciden con la hora actual … Asegúrese de que sus tiempos no tengan segundos porque su cron se ejecutará cada minuto. Lo más importante es indexar la columna que contiene el tiempo … Esto le devolverá todos los resultados requeridos de la base de datos en milisegundos. Luego solo procese estos resultados para enviar el mensaje.
Incluso si usa algún otro mecanismo para hacerlo, eventualmente lo hará con la misma lógica.

Jibran Bhat , no tengo ni idea de qué sondeo / Cualquier sistema asíncrono. ¿Podría darme algún tutorial sobre esto en PHP?

More Interesting

¿Es legal hacer cuentas falsas de celebridades en un video promocional?

Para construir una intranet para equipos dispersos sobre un CMS, ¿cuál es una mejor opción y por qué? ¿Una herramienta de colaboración o una red social privada?

¿Cuál es la aplicación más interesante de Freebase de Metaweb que hayas visto?

¿Puede una startup iniciar el uso de node.js, express.js y mongodb para crear un sitio / aplicación html5 basado en video y música, algo similar a thesixtyone.com? ¿O debería usarse un lenguaje como python / django o erlang en su lugar?

¿Cómo manejan las aplicaciones web financieras la carga causada por la transmisión de precios si cada cliente sigue haciendo llamadas ajax?

¿Existe una plataforma de publicación de libros de código abierto?

¿Puedo configurar aplicaciones de Chrome como aplicación predeterminada en mi computadora?

¿Cuáles son las aplicaciones de las integraciones?

¿Cuáles son algunas herramientas de creación de formularios de marca blanca que puede integrar en su propia aplicación?

¿Cuáles son algunas de las principales tecnologías web con las que un desarrollador de JavaScript debería estar familiarizado para contratar empresas web que trabajan de forma remota en el mundo?

¿Se le ocurre un uso del patrón Observer en una aplicación web CRUD MVC?

¿Cómo se crea un entorno de mundo virtual en línea que la gente realmente usará?

¿Debería compilarse y compilarse el código fuente de una aplicación web antes de la implementación o una vez implementado en el servidor de producción?

Adobe Photoshop: ¿Cuál es la mejor herramienta para crear prototipos de gráficos web y de aplicaciones?

He desarrollado una herramienta web, ¿debería venderla o lanzarla gratis con anuncios?