Question

Je voudrais quelques conseils sur la façon de mettre en œuvre les éléments suivants:

Je voudrais faire mes utilisateurs au courant des progrès d'une tâche qui est en cours d'exécution sur mon serveur via AJAX. Mon serveur exécute un script PHP qui télécharge un fichier via la commande shell en utilisant la fonction popen. Il echos périodiquement / imprime ce qui se passe. Je voudrais saisir cette sortie en utilisant AJAX et de le présenter à l'utilisateur.

On m'a dit dans une autre question que je pourrais avoir besoin d'utiliser des sondages ou d'une comète? Je serais vraiment reconnaissant de l'aide ou des conseils sur la façon d'y parvenir de la manière la plus simple et la plus efficace. Si tout va bien, je peux encore utiliser JQuery.

Merci d'avoir pris le temps de lire ceci.

P.S. J'ai pu en arriver là avec la communauté grâce à stackoverflow .)

Était-ce utile?

La solution

Cela sonne comme une grande opportunité pour Ajax à long polling , qui est l'une des techniques innombrables utilisées en général mises en œuvre Comet. Il y a une autre question sur Stack Overflow avec le code exemple.

Autres conseils

Le lien Jim Puls publié est un excellent endroit pour commencer. Beaucoup d'utilisateurs que les questions offrent un grand nombre d'informations sur les sondages et PHP Comet. La plupart des endroits que j'ai vu ont recommandé d'utiliser python tordu pour accomplir cette tâche.

En outre, voici quelques liens à:

Responsive applications AJAX avec COMET

Une barre de progression dans Jquery

Et un autre modèle Streaming HTTP AJaX article

Je serais probablement aller la route gs mentionnés à la fin en fonction de la « nécessaire » la barre de progression est. Si c'est juste une fonction pour aider l'utilisateur à se rendre compte que cela prend un peu plus de temps que d'habitude à traiter, puis les « duper » avec une estimation est beaucoup plus facile que le vote en direct.

Je viens d'utiliser l'interrogation régulière au lieu de la comète, car cela est plus comme un hack. Pour rendre l'interface utilisateur plus fluide que vous pourriez triche et mettre à jour votre barre de progression sans vérifier avec le serveur, juste en calculant le temps moyen dont il a besoin pour accomplir une tâche. Vous pouvez corriger l'erreur par interrogation pour l'état correct. Si vous implémentez bien que, tout le monde pensera qu'il est mise à jour en direct.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top