Re: [PHP-ES] Conexion en Escucha con PHP-MYSQL
[email protected] (Javier Martínez Fernández)
| Newsgroups | php.general.es |
|---|---|
| Message-ID | <[email protected]> |
Comet es la mejor opcion para una comunicacion con el cliente de forma instantanea, aunque en este caso no merece la pena todo el engorro de montarlo, para algo tan "basico". Yo te recomendaria hacer una peticion http que devolviese solamente un "ejecutando..." y pusiese en marcha una tarea del sistema en background que ejecutase todo el calculo (entiendo que el proceso puede ser muy intenso y lento). En ese momento el cliente podria empezar a hacer llamadas XHR cada dos minutos (mas o menos) para ver si el proceso en background ha finalizado (algo tan simple como mirar un registro de una tabla que ponga el estado). El día 11 de diciembre de 2009 18:27, hahmael <[email protected]> escribió: > Hola amigos > > Tengo las siguientes dudas: > > Tengo un modulo en PHP que debe tomar en tiempo real una solicitud que > contiene un ID y detalles y luego de ello pasar a un estado aprobado o no > aprobado, esta solicitud es generada por un usuario a través de un form, los > datos van a la tabla solicitudes en mysql asociada a ese usuario que genero > dicha solicitud, la cuestión es que el modulo o llámese interfaz (pagina) > que lee esta solicitud debería estar en un estado en escucha, es decir tan > pronto se genere la solicitud aparezca en pantalla sin estar recargando a > cada momento el navegador para ver si hay nuevas solicitudes. > > Entonces se plantea lo siguiente: > > 1. podría hacerse un refresh cada 2 segundos pero seria engorroso además de > saturar el SGBD, dado el caso de muchas instancias de este modulo abierta y > consultado cada dos segundos, aparte de estar algunos de ellos haciendo > updates (aprobado- o no aprobado) al estado de la solicitud, por > consiguiente el mismo select a la BD y usando un motor de almacenamiento > como MYISAM seguro iría muy lento para algunos(hablo de volúmenes muy altos > de Selects y Updates) y de vez en cuando un bloqueo para las instancias que > estén actualizando el estado de aprobación manifestado por lentitud > o denegación de conectivad. > > 2. Existe Comet quizás mas cercano a lo que quiero pero algo un poco > complejo a mi parecer, quizas debe existir una solución mas óptima y > profesional a Refresh sin congestionar el SGDB ni el servidor con tanta > peticion HTTP, o un apoyo parcial en PHP para ello. estoy un poco > confundido. > > De que manera podria implementar esto? alguien que pueda orientarme?. > > > Agradecido. > > > Hahmael >