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 :

Mettre en queue l'execution d'un php


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    100
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France, Finistère (Bretagne)

    Informations forums :
    Inscription : Juin 2006
    Messages : 100
    Points : 62
    Points
    62
    Par défaut Mettre en queue l'execution d'un php
    Bonjour,

    Je suis confronté à un problème, via un php j'ouvre un socket php pour récupérer les users online d'un Teamspeak

    Et si 3 personnes lance en même temps ce php, c'est considéré comme du flood et je tombe en erreur 500

    En php y a t'-il un moyen d’autoriser l’exécution d'un php uniquement s'il n'est pas déjà utilisé ?

    Merci

  2. #2
    Membre expérimenté
    Homme Profil pro
    Développeur C++
    Inscrit en
    Avril 2012
    Messages
    771
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur C++
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2012
    Messages : 771
    Points : 1 631
    Points
    1 631
    Par défaut
    Bonjour,

    Si aucune API n'est disponible pour les serveurs TeamSpeak pour se genre de requête pour éviter vos problème de flood, il vous suffit de stocker soit dans un fichier soit dans une BDD la liste des pseudos et la date de mise à jour de cette liste.

    A chaque fois qu'une personne accède à votre site votre script accède au fichier ou à la BDD, regarde la date, si la date à dépassé le délais de rafraichissement (par exemple 1 minutes), vous vous connectez au serveur TeamSpeak et rafraichissez la liste des pseudo.

    Si vous utilisez un fichier texte pour synchroniser cette information il est possible que deux personnes accèdent à la page périmée en même temps et donc lance tous deux le rafraîchissement. Je vous conseil donc d'utiliser une BDD supportant les transactions. Lors du rafraîchissement il vous suffit de locker la date de mise à jour de la liste pour que les autres clients soit mis en attente du rafraîchissement. Une fois que le rafraîchissement est terminé il vous suffit de valider la transaction pour que les autres clients puissent accéder à la liste mis à jour.

    Le problème de cette solution est qu'elle n'est pas temps réel plus votre délais de mise à jour sera long moins la liste sera fiable.
    une réponse vous a permis d'avancer ?

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    100
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France, Finistère (Bretagne)

    Informations forums :
    Inscription : Juin 2006
    Messages : 100
    Points : 62
    Points
    62
    Par défaut
    Je crée déjà un cache toutes les minutes sauf qu'à expiration du cache, si plusieurs personnes executent le php en même temps on se retrouve dans un état de flood serveur...

    D'où ma question est il possible de bloquer l'execution d'un php pour une seule personne à la fois

  4. #4
    Membre expérimenté
    Homme Profil pro
    Développeur C++
    Inscrit en
    Avril 2012
    Messages
    771
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur C++
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2012
    Messages : 771
    Points : 1 631
    Points
    1 631
    Par défaut
    Re lisez mon post à partir du troisième paragraphe.
    une réponse vous a permis d'avancer ?

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    100
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France, Finistère (Bretagne)

    Informations forums :
    Inscription : Juin 2006
    Messages : 100
    Points : 62
    Points
    62
    Par défaut
    Oui c'est une idée, mais utiliser une bdd pour ça, je n'ai pas trop envie. Au final j'ai mis en place un cron toutes les minutes mais bon...

  6. #6
    Membre expérimenté
    Homme Profil pro
    Développeur C++
    Inscrit en
    Avril 2012
    Messages
    771
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur C++
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2012
    Messages : 771
    Points : 1 631
    Points
    1 631
    Par défaut
    Avec php 5.3.2 et supérieur il est possible de locker un fichier flock il vous suffit de locker la liste des pseudo le temps de la mise à jour.
    une réponse vous a permis d'avancer ?

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [MySQL] Execution de code PHP dans une BDD
    Par calenfeaion dans le forum PHP & Base de données
    Réponses: 19
    Dernier message: 30/06/2006, 13h34
  2. [VB6] Mettre en pause l'execution du code
    Par ironik dans le forum VB 6 et antérieur
    Réponses: 8
    Dernier message: 19/05/2006, 10h56
  3. [Système] Execution de script php
    Par Anduriel dans le forum Langage
    Réponses: 5
    Dernier message: 24/12/2005, 15h01
  4. Réponses: 6
    Dernier message: 23/12/2005, 13h51
  5. Réponses: 4
    Dernier message: 15/12/2005, 18h28

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