Bonjour,
tout d'abord je travail sur un intranet fonctionnant sous EasyPHP 5.3.2i.
A un moment, les utilisateurs doivent valider un traitement qui dure plus d'une minute en PHP. ce qui les bloquent et ils ne peuvent pas continuer à travailler.
J'ai donc eu l'idée d'effectuer ce traitement en parallèle :
1 - Au lieu d'ouvrir la page, j'ai ouvert une nouvelle fenêtre du navigateur et exécuté ce traitement dans cette nouvelle fenêtre => Rien a faire, la page principale (et tout l'intranet) reste bloqué sur le poste de l'utilisateur jusqu'à la fin du traitement.
2 - J'ai donc essayé la même méthode (ouvrir un nouvelle fenêtre) mais d'effectuer l'appel de la page a exécuter en ajax => Même problème
3 - J'y suis donc allé bourrin... J'ai fais un programme C++ qui exécute la page et les paramètres que je lui envoi, puis exécute ce programme C++ avec la commande System de PHP sur la fenêtre qui lancés ma requête ajax... => Toujours pareil ! L'exécution de ce traitement bloque les utilisateurs jusqu’à la fin !
J'ai bien vérifié que ce n'était pas apache qui coincé, j'ai lancer un traitement long, et j'ai lancer un autre navigateur. Aucun blocage sur celui-ci.
J'aimerais que lorsque l'utilisateur valide ce qu'il a à valider, le traitement se fasse en "tache de fond" et que l'utilisateur puisse continuer à faire autre chose sur l'intranet...
Alors, est-ce possible d'effectuer ce genre de chose ? J'accepte toutes les méthodes ! (J'ai pensé peut être a un applet java mais je n'y connais rien)
Merci d'avance !
Partager