Pregunta

Me gustaría algún consejo sobre cómo poner en práctica lo siguiente:

Me gustaría que mis usuarios conscientes del progreso de una tarea que se está ejecutando en mi servidor a través de AJAX. Mi servidor se ejecuta un script PHP que descarga un archivo a través de comandos shell mediante la función popen. Se hace eco periódicamente / impresiones de lo que está sucediendo. Me gustaría capturar esta salida usando AJAX y presentarla al usuario.

Me dijeron en otra pregunta que puede ser que tenga que hacer uso de interrogación o un cometa? Realmente agradecería cualquier ayuda u orientación sobre cómo lograr esto de la manera más simple y más eficiente. Con suerte, todavía puedo hacer uso de jQuery.

Gracias a todos por tomarse el tiempo para leer esto.

P.S. Yo era capaz de llegar tan lejos con gracias a la comunidad stackoverflow .)

¿Fue útil?

Solución

Esto suena como una gran oportunidad para que Ajax sondeo largo , que es uno de los innumerables técnicas utilizadas en implementaciones Comet generales. Hay otra pregunta sobre el desbordamiento de pila con código de ejemplo.

Otros consejos

El enlace Jim Puls publicado es un gran lugar para comenzar. Muchos de los usuarios en que las preguntas ofrecen una gran cantidad de información sobre el cometa de votación y PHP. La mayoría de los lugares que he visto han recomendado el uso de Python se torcieron para realizar esta tarea.

Además, aquí hay algunos enlaces a:

aplicaciones AJAX Responsive con el cometa

una barra de progreso en Jquery

y otro HTTP Streaming AjAx Patrón artículo

Probablemente me las gs de rutas mencionadas en el final dependiendo de cómo "necesario" de la barra de progreso es. Si es sólo una función para ayudar al usuario se da cuenta de que está tomando un poco más de tiempo de lo normal para procesar, a continuación, "engañar" con una estimación es mucho más fácil que el de votación en directo.

Me acabo de utilizar consultas de opinión en lugar de cometa, ya que esto es más como un truco. Para hacer que la interfaz de usuario más fluida que pudiera trucos y actualizar su barra de progreso sin consultar con el servidor, simplemente calculando el promedio de tiempo que tiene que hacer una tarea. Se podría corregir el error de votación para el estado correcto. Si implementa tan bien, todo el mundo pensará que es la actualización en vivo.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top