IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Traitement long en PHP


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2012
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 13
    Points : 11
    Points
    11
    Par défaut Traitement long en PHP
    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 !

  2. #2
    Expert confirmé Avatar de papajoker
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2013
    Messages
    2 217
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nièvre (Bourgogne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2013
    Messages : 2 217
    Points : 4 699
    Points
    4 699
    Par défaut
    Bonjour,

    suis pas sous win donc pas testé :
    http://php.net/manual/en/function.shell-exec.php#73490

  3. #3
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Le blocage peut provenir de tes sessions : si un script utilisant une session est en cours, les autres scripts de cet utilisateur ne peuvent pas démarrer la session ; solution : libérer la session dés qu'elle n'est plus utile.

  4. #4
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 692
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 692
    Points : 20 243
    Points
    20 243
    Par défaut
    En complément de la réponse de sabotage :
    http://www.php.net/manual/fr/functio...rite-close.php

    En gros récupère les données de session dont tu as besoin de début de script puis ferme la tout de suite.

Discussions similaires

  1. Aide pour définir des index (traitement long)
    Par m-mas dans le forum MS SQL Server
    Réponses: 7
    Dernier message: 25/05/2006, 20h39
  2. [VBA-E] Temps de traitement long
    Par argoet dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 24/05/2006, 09h58
  3. [Oracle8i]Performances, Commit, traitement long
    Par Drizzt [Drone38] dans le forum Oracle
    Réponses: 4
    Dernier message: 17/05/2006, 08h57
  4. [Architecture] Traitement long
    Par metalpetsFR dans le forum Plateformes (Java EE, Jakarta EE, Spring) et Serveurs
    Réponses: 11
    Dernier message: 28/04/2006, 09h10
  5. Fermeture avec traitement long dans le onActivate
    Par benj63 dans le forum C++Builder
    Réponses: 14
    Dernier message: 20/03/2006, 18h54

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo