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

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2012
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 13
    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 324
    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 324
    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
    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.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

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

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

    Informations forums :
    Inscription : Août 2003
    Messages : 6 693
    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.
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

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