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 :

Délai d'éxécution d'un script


Sujet :

Langage PHP

  1. #1
    Membre éclairé
    Inscrit en
    Novembre 2005
    Messages
    323
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 323
    Par défaut Délai d'éxécution d'un script
    Bsr à tous

    Avant de pouvoir afficher le résultat d'un script A, j'aimerais d'abord exécuter un script B qui se terminera selon un temps donné et à la suite du script A le script B s'éxécute.

    En gros comment exécuter un script juste après le delai imparti du premier scirpt.

    Merci de m'éclairer

  2. #2
    Expert confirmé
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Billets dans le blog
    12
    Par défaut
    Salut,

    Un script est linéaire : un point d'entrée, un point de sortie.
    Tu ne peux pas forcer l'arrêt d'un script en cours d'exécution autrement qu'en passant par un contrôle interne dans le code même du script qui le terminerait selon un critère particulier.
    En gros, il te faut dans ton script B un truc du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    if (test()) {
       return scriptA();
    }

  3. #3
    Membre éclairé
    Inscrit en
    Novembre 2005
    Messages
    323
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 323
    Par défaut
    en faite je veux le premier script s'arrête après 10 seconde dc un truc du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if(temps_script1==10) alors afiche script 2
    le but c'est de retarder l'affichage du script 2 et pendant ce laps de temps le script 1 tourne en boucle (exemple : affichage des nom d'une table de plusieurs clients).

  4. #4
    Expert confirmé
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Billets dans le blog
    12
    Par défaut
    un truc du genre devrait te convenir :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    $start = microtime(TRUE);
    sleep(10); # code à exécuter durant le lap de temps
    $current = microtime(TRUE);
     
    if (($current - $start) > 10) {
       echo 'délai écolué';
    }
    Mais je me demande si tu n'es pas en train de partir en galère avec tes scripts qui doivent s'enchainer non pas en fonction de leur résultat mais d'un temps écoulé.

  5. #5
    Membre éclairé
    Inscrit en
    Novembre 2005
    Messages
    323
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 323
    Par défaut
    Surement un code se genre là.
    Mais comment exécuter un code pendant ce sleep(10)? Genre afficher un texte?

  6. #6
    Expert confirmé
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Billets dans le blog
    12
    Par défaut
    houla,

    le sleep(10) ne sert que d'exemple, quand le serveur pionce comme ici 10 seconde, il ne fait rien d'autre. Un peu comme nous, quand on dort, on dort, le reste n'existe pas. Ce sleep(10) est à remplacer par ton propre code. Ce qui est important c'est le microtime().

    Et puis je pense qu'il va te falloir exécuter ton code dans un boucle du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    $limit = microtime(TRUE) + 10; # temps courant + 10 secondes
     
    while ($current < $limit) {
       # code a exécuter pendant la durée impartie
       #
       #
       $current = microtime(TRUE);
    }
     
    scriptA();

  7. #7
    Membre Expert
    Avatar de transgohan
    Homme Profil pro
    Développeur Temps réel Embarqué
    Inscrit en
    Janvier 2011
    Messages
    3 149
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Temps réel Embarqué

    Informations forums :
    Inscription : Janvier 2011
    Messages : 3 149
    Par défaut
    Regardes du côté de la gestion des processus : http://fr.php.net/manual/fr/ref.pcntl.php
    Tu as de quoi envoyer des signaux entre deux processus PHP et donc de pouvoir faire patienter un script tant que l'autre n'est pas terminé.

Discussions similaires

  1. [MySQL] Temps d'éxécution d'un script php
    Par PallBreak dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 09/02/2009, 16h36
  2. éxécution d'un script sur une règle
    Par Régolo dans le forum VBA Outlook
    Réponses: 5
    Dernier message: 20/07/2008, 20h03
  3. Temps d'éxécution d'un script
    Par FraK dans le forum Langage
    Réponses: 7
    Dernier message: 30/11/2007, 10h32
  4. Améliorer le temps d'éxécution d'un script
    Par totoc1001 dans le forum MATLAB
    Réponses: 8
    Dernier message: 21/12/2006, 10h46
  5. Réponses: 4
    Dernier message: 01/09/2006, 14h40

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