[Tableaux] Traiter plusieurs script envoyé par le même client
Je suis en PHP 5 avec SQL Server. J'ai réalisé une fonctionalité qui fait un traitement sur des fichiers. Je souhaite pouvoir stopper ce traitement à tout moment. Pour celà durant le déroulement du traitement, à chaque étape il vérifie qu'il n'y a pas de demande d'annulation.
Mon problème c'est que pour un client donné le serveur exécute script après script.
Déroulement attendu:
-> Exécution du traitement
-> Client lance l'annulation
-> Exécution du script d'annulation
-> Fin de l'exécution du traitement due à l'annulation
En fait l'exécution de mon programme se déroule comme ci dessous:
-> Exécution du traitement
-> Client lance l'annulation
...traitement WIP
->Fin de l'exécution du traitement
->Exécution du script d'annulation
Donc le traitement n'a pas était annulé....
J'ai réussi à le faire fonctionner avec deux machine différentes c'est à dire si c'est une machine qui lance le traitement et l'autre l'annulation...
Il doit y avoir un paramètre dans le php.ini disponible pour régler ce problème mais j'ignore comment faire. Si quelqu'un peu m'aider celà me rendrais un grand service.
Eclaircissement du problème
Oui je pourrais vous monter du code mais je pense que celà n'a pas beuaoup d'interêt:
De plus ce n'est pas un problème de code étant donné que celà fonctionne si je suis sur deux ordinateurs différents (cf premier message posté)
Pour vous eclaircir sur mon problème :
script du traitement :
Code:
1 2 3 4 5 6 7 8 9 10 11
|
while ( file = il reste des fichier à traiter() ) {
Effetue traitement (file);
if (file_exists("cancel")) {
$canceled = true;
break;
// Fin du script
}
} |
script d'annulation du traitement:
Code:
1 2 3
|
$descFile = fopen("cancel", "w");
fclose($descFile); |
Voilà les pseudos algos de mes deux scripts. Donc mon problème et que tant que le premier script n'est pas terminé mon serveur n'exécuteras pas le second. A moins qu'il proviennent d'un autre client/ordinateur. J'espère que j'ai éclaircis le problème enfin que vous puissiez m'aider Merci pour vos réponses.