Interaction php javascript - PHP - Programmation
Marsh Posté le 14-02-2008 à 21:07:51
Arf, tu fais vraiment mouliner le serveur pendant deux heures ? À ce niveau là, ça vaudrait le coup de voir ce qui pourrait être fait avec un langage un peu plus rapide...
Cela dit, pour avoir fait un truc similaire (mais avec des traitements de quelques minutes au pire), voici comme je m'y suis pris :
- Lancement d'un processus sur le serveur qui va massacrer le disque/CPU/RAM.
- L'avancement du processus était facilement quantifiable, je l'ai donc mis dans un fichier temporaire avec un nom aléatoire, que je récupérait au moment de commencer le traitement.
- Récupération de ce fichier via XmlHttpRequest à intervalle régulier (1 seconde) et mise à jour d'un div quelconque.
Marsh Posté le 15-02-2008 à 08:54:31
tpierron a écrit : Arf, tu fais vraiment mouliner le serveur pendant deux heures ? À ce niveau là, ça vaudrait le coup de voir ce qui pourrait être fait avec un langage un peu plus rapide... |
XmlHttpRequest c'est Ajax non ?
J'y pense, je pourrais peut être mettre mon état d'avancement dans une variable de Session et comme tu dis remettre à jour ma barre toute les secondes, je vais essayer ça ce soir
Merci pour l'idée
Marsh Posté le 16-02-2008 à 10:52:19
Ca ne marche pas.
Lorsque je lance ma procédure la fenêtre qui contient la barre ce bloque.
Faut peut être utiliser XmlHttpRequest mais ça je ne sais pas encore faire.
Marsh Posté le 14-02-2008 à 19:31:39
J'ai une page php qui dure assez longtemps (plus de 2h) je veux donc voir l'état d'avencement.
Pour cela j'ai ma page principale qui contient une balise Div représentant la barre de progression comme ceci :
J'ai mis une balise IFRAME qui contient la page qui lance la longue procédure comme ceci :
Je modifie la barre avec une fonction Javascript :
Cette fonction est lancer à chaque avancement de ma procédure comme ceci:
LE problème : Le mise à jour de ma barre ne se fait pas régulièrement, je voudrai que lorsque j'écris
la modification se fasse tout de suite.
La barre passe, par exemple, de 0, 17%, 34%, ... et non 1%, 2%, 3%, ... Il y a une modification toute les 2s
Message édité par snike le 14-02-2008 à 19:40:55
---------------
Le problème avec les idées derrière la tête c'est qu'on ne peut pas les voir :??: