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 :

Exécution périodique irrégulière


Sujet :

Langage PHP

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 13
    Points : 6
    Points
    6
    Par défaut Exécution périodique irrégulière
    Bonjour,

    Je me retrouve aujourd'hui face à un problème dont il existe une multitude de réponses variées, mais je ne sais pas laquelle choisir car j'aimerais la méthode la plus rapide, et la plus optimisé. ( le site que je développe est censé pouvoir accueillir plusieurs centaines d'utilisateurs simultanément )

    Voici le problème simplifié : j'aimerais que chaque utilisateurs puisse cliquer sur un bouton, qui va activer un "timer" programmé pour lancer une série de calcul, 1 heure ( le temps est variable ) après l'évènement.

    A l'instar des jeux-vidéos en PHP que l'on peut trouver sur le net, par exemple..

    Il ne s'agit donc pas d'une simple éxecution périodique d'un script PHP car ici c'est l'utilisateur qui "décide" de l'heure à laquelle le script sera éxecuté.. Et c'est là tout le problème... car le script doit se lancer même si l'utilisateur se déconnecte après avoir cliqué sur le bouton..

    Merci de votre aide.

  2. #2
    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
    Les solutions vont être les memes que celles de la page que tu indiques, sauf que tu vas utiliser de multiples evenements.

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 13
    Points : 6
    Points
    6
    Par défaut
    Pourrais-tu être plus clair ?

    En fait comme je te le disais, il peut y avoir plusieurs centaines d'utilisateurs qui cliquerais sur plusieurs boutons de ce genre..
    La solution d'ajouter une ligne sur le cron a chaque fois ne me parait pas optimisé du tout..

    Es tu sur que c'est la meilleure solution ?

  4. #4
    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
    Qu'est ce qui te gêne dans l'utilisation de cron ?

  5. #5
    Membre expert
    Avatar de s.n.a.f.u
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2006
    Messages
    2 760
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2006
    Messages : 2 760
    Points : 3 545
    Points
    3 545
    Par défaut
    Citation Envoyé par Tacos Voir le message
    La solution d'ajouter une ligne sur le cron a chaque fois ne me parait pas optimisé du tout..
    Autre solution, pas tout à fait aussi souple que ce que tu souhaites mais qui pourrait le faire :
    - une seule ligne dans le cron qui exécute un script régulièrement, toute les 30 minutes par exemple.
    - ce script va lire un fichier ou une table indiquant les actions à effectuer, ces actions étant mises à jour par les utilisateurs.

  6. #6
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 13
    Points : 6
    Points
    6
    Par défaut
    Bonjour,

    Je remet à jour ce post car j'ai encore quelques questions le concernant.

    J'ai donc finalement adopté la méthode du "cron dynamique", c'est à dire que j'ajoute des lignes dans le cron à chaque fois qu'un utilisateur clique sur les boutons, et je supprime la ligne, dès qu'elle a été exécutée.


    Cependant, je me pose pas mal de questions sur ce système, notamment si il existe une limite au Cron de Linux.. Sur internet certains sites parlent de 100 lignes, d'autres de 256 lignes.. mais rien n'est jamais officiel ( c'est toujours sur des petits forums que les gens en parlent ).

    J'aimerais donc savoir si je dois m'inquiéter de ce côté là.. Car une fois en production, il devrais y avoir mille lignes qui se rajouteront, puis se supprimeront presque toute les minutes ( enfin si mon projet marche bien sur ^^ ).. Et si on me dit que le cron a une limite de lignes, c'est que ce n'est pas du tout ce dont j'ai besoin.. Et alors je vous reposerais la toute première question que j'ai posée au début du post !


    Autre chose : étant donné qu'il pourra y avoir pas mal de lignes sur le cron qui concerneront la même minute ( mais pas le même script ), je me suis dit que pour rendre le tout plus performant, je pourrais rajouter dans mes scripts un Usleep, d'un temps Random ( entre 1 et 60 secondes ) avant leur exécution.
    De cette façon, je pourrais "étaler" l'exécution de tous les scripts sur les 60 secondes au lieu de tout exécuter à la même seconde, au début de chaque minutes ( étant donné qu'on ne peut pas spécifier de secondes dans le cron ).. Qu'en pensez-vous ?



    Merci de votre aide.

Discussions similaires

  1. Réponses: 12
    Dernier message: 26/08/2008, 10h30
  2. Exécution périodique d'un script php
    Par tetepro dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 2
    Dernier message: 16/04/2008, 16h54
  3. Exécution périodique de traitements et requêtes
    Par devboy dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 4
    Dernier message: 13/07/2007, 10h42
  4. fonction php à exécuter périodiquement
    Par sneb5757 dans le forum Langage
    Réponses: 5
    Dernier message: 10/05/2007, 15h00
  5. [BES] Exécution périodique de tâches
    Par Bobby McGee dans le forum Autres
    Réponses: 5
    Dernier message: 04/02/2004, 18h15

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