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 :

Controler qu'une fonction est en cours d'execution


Sujet :

Langage PHP

  1. #1
    Membre régulier Avatar de jamdinhe
    Inscrit en
    Avril 2006
    Messages
    165
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 165
    Points : 83
    Points
    83
    Par défaut Controler qu'une fonction est en cours d'execution
    Bonjour,

    je suis dans un mixer PHP

    je ne trouve pas comment récupérer une information sur l'état d'exécution d'une fonction par un utilisateur quelconque !!

    je m'explique :
    quand une fonction LOURDE est executé du coté serveur pour un utilisateur, et/ou d'autres utilisateurs clique sur un bouton de leurs postes (coté client) pour exécuter la même fonction LOURDE, comment PHP réagit t-il ? (est ce qu'il y a moyen de retourner une variable pour vérifier si il est déja en exécution)

    ce qui me permettra en quelques sortes de faire ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    <?php
           if (enCoursDutilisation(fonctionLOURDE)) {
               echo "fonction occupée";
            }
           else {
               fontionLOURDE();
           }
    ?>
    enfin, pour mieux la simplifié en peut la comprendre par l'exemple des toilettes publique

    quand c'est occupé, on n'a pas accés et on a une couleur rouge dans la serrure pour ne le montrer,

    dans le cas contraire, la serrure est en vert

    "La serrure représente la variable que je veut utiliser pour vérifier si la fonction LOURDE est en cours d'exécution ou pas"

    Merci d'avance a tout ceux qui veulent aider
    AminE

  2. #2
    Rédacteur
    Avatar de marcha
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2003
    Messages
    1 571
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 571
    Points : 2 351
    Points
    2 351
    Par défaut
    Salut,

    Il te faut faire un verrou. Il y a plusieurs techniques, dont l'une d'elle
    utilise la base de donnée, voir ici

    D'autre utilisent un fichier, voir flock

    Mais le plus propre est surement l'utilisation d'un sémaphore

  3. #3
    Membre régulier Avatar de jamdinhe
    Inscrit en
    Avril 2006
    Messages
    165
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 165
    Points : 83
    Points
    83
    Par défaut
    Bonjour,

    a vrai dire, je n'est pas encore eu une réponse plus ou moins favorable !

    vue que j'ai besoin d'une solution pour passer a une autre étape de mon projet de fin d'études,

    je repose ma question autrement (plus généralisé),

    pouviez vous m'expliquer ou m'orienter vers une documentation qui explique en détail le déroulement d'un programme PHP du coté Serveur, surtout quand il y'a plusieurs utilisateurs pour une même fonction par exp, ou une même variable ...!

    est ce qu'il utilise des processus enfants ou .........?

    Merci davance a ceux qui veulent aider,
    AminE

  4. #4
    FoxLeRenard
    Invité(e)
    Par défaut
    En fait j' avais lu ton message mais je trouvais la réponse la meilleure durdur a trouver, en fait sur ta relance je prendrais le choix sans programmation, car c'est a mon sens celui que je ferais pour moi-même.

    Choix psychologique ou machivelique c'est le meileur a mon sens,

    lancer la fonction lourde avec un message genre

    Vous executez une fonction complexe qui necessite de grosses ressources
    serveur, cette fonction est déjas en appel par d'autres utilisateurs, cependant nous avont lancé votre procédure ... vous pouvez l'interompre
    etc ....
    Tu peux placer alors une bare d'avancement de la tache et bien sur un bouton "arréter" tu as bien compris que le fait que tu n'a pas controler que d'autres utilisent la fonction, est sans importance, car si personne ne l'utilise, elle ira vite, et le visiteur sera tout content !

Discussions similaires

  1. Réponses: 4
    Dernier message: 16/07/2009, 16h25
  2. Réponses: 28
    Dernier message: 29/07/2006, 16h04
  3. Savoir si une application est en cours d'exécution??
    Par Davidvb6 dans le forum VB 6 et antérieur
    Réponses: 13
    Dernier message: 24/03/2006, 08h33
  4. Tester si une procedure est en cours d'éxécution
    Par tipiweb dans le forum Langage
    Réponses: 3
    Dernier message: 27/07/2005, 14h34
  5. Comment savoir qu'une fonction est standard ?
    Par D[r]eadLock dans le forum C
    Réponses: 5
    Dernier message: 24/03/2003, 14h42

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