Sé que hay tecnologías de servidor Comet que hacen esto, pero quiero escribir algo simple y de cosecha propia.MySQL trigger + notificar a una larga conexión de Apache/PHP
Cuando se inserta un registro en una tabla MySQL, quiero que de alguna manera comunique estos datos a una serie de conexiones apache de larga data utilizando PHP (o lo que sea). Así que varias personas están "escuchando" a través de su navegador y en el momento en que ocurre el INSERT de MySQL, se envía a su navegador y se ejecuta.
La manera más fácil es hacer que la secuencia de comandos PHP sea la base de datos MySQL, pero esto realmente no empuja desde el servidor e introduce un orden inaceptable de consultas de bases de datos innecesarias. Quiero obtener esos datos de MySQL a la conexión de larga duración esencialmente sin que los oyentes consulten en absoluto.
¿Alguna idea sobre cómo implementar esto?
Tal vez el gatillo podría escribir algo como memcached y el PHP podría sondear eso? – phazei
PHP es estático y no está "ejecutándose" en segundo plano. Hay algunos trucos en el libro de cómo hacer que parezca un "hilo", pero luego viene el siguiente problema, actualice la página de los clientes. Yo diría que el sondeo debe ser hecho por AJAX. Podría ser suficiente para sondear la última fecha de modificación (escrita por factores desencadenantes). Si es más nuevo, recarga la página. –