Lancement de tâches cron automatiques depuis PHP

Discussion dans 'Développement d'un site Web ou d'une appli mobile' créé par mazo0012, 18 Juillet 2012.

  1. mazo0012
    mazo0012 Nouveau WRInaute
    Inscrit:
    15 Juin 2008
    Messages:
    12
    J'aime reçus:
    0
    Bonjour à tous,

    Je poste un message sur ce forum car après maintes recherches sur le web, je ne trouve pas la solution à mon problème.
    D'habitude je ne suis pas du genre à poster des messages à tout va, je trouve habituellement ce que je cherche.

    Mais dans ce cas précis, je m'avoue vaincu. J'explique mon problème : je dois développer un jeu en ligne avec des timers de partout, c'est-à-dire que chaque joueur va voir se réinitialiser ses objets toutes les X heures (avec un compteur qui tourne devant ses yeux, qui remet à jour la page à la fin, et si il n'est pas connecté, le traitement se fait quand même).

    Pour le compteur qui tourne, je l'ai implémenté en jquery, maintenant le gros souci c'est comment faire pour programmer les tâches cron pour chaque joueur, à la seconde près (sachant que les cron ne fonctionnent pas avec des secondes, et qu'elles sont parfois limitées en nombre de lignes, ou parfois il faut être en root pour les modifier...), en synchronisant le compteur jquery arrivé à 00:00:00 avec la tâche cron... 8O

    Peut-être qu'il faut que je m'oriente vers un script de file d'attente qui tourne en permanence, je n'en sais rien. Si vous avez une idée, je vous en remercie d'avance!
     
  2. buzzistic
    buzzistic WRInaute discret
    Inscrit:
    6 Juillet 2006
    Messages:
    146
    J'aime reçus:
    0
    Une session au démarrage où on stocke ... le timestamp UNIX puis on redemande via Ajax en prenant pour valeur now() toujours en timestamp ...
     
  3. mazo0012
    mazo0012 Nouveau WRInaute
    Inscrit:
    15 Juin 2008
    Messages:
    12
    J'aime reçus:
    0
    ok si il est connecté c'est assez simple, mais comment faire quand il n'est pas connecté (c'est ça le plus dur) ?
    d'ailleurs ça doit être unifié dans les 2 cas...
    merci!
     
  4. _Soul
    _Soul WRInaute impliqué
    Inscrit:
    26 Avril 2011
    Messages:
    626
    J'aime reçus:
    0
    Les données doivent être actualisé sur le serveur, pas sur le client, le client c'est que de l'affichage. Sinon un ctrl maj i et hop il finit ton jeu direct.
     
  5. mazo0012
    mazo0012 Nouveau WRInaute
    Inscrit:
    15 Juin 2008
    Messages:
    12
    J'aime reçus:
    0
    je reprends : [...] mais comment faire quand il n'est pas connecté (c'est ça le plus dur) ?
    et surtout c'est l'objet de ma question (merci de lire le sujet avant de répondre)
     
  6. frenchhorn
    frenchhorn WRInaute passionné
    Inscrit:
    8 Février 2007
    Messages:
    1 142
    J'aime reçus:
    3
  7. mazo0012
    mazo0012 Nouveau WRInaute
    Inscrit:
    15 Juin 2008
    Messages:
    12
    J'aime reçus:
    0
    Non je ne connaissais pas, d'ailleurs je viens de trouver quelqu'un qui a le même problème que moi, merci beaucoup et bravo!
     
  8. Koxin-L.fr
    Koxin-L.fr WRInaute passionné
    Inscrit:
    15 Janvier 2012
    Messages:
    1 891
    J'aime reçus:
    8
    Bonjour,

    Tu créé une liste avec les cron à exécuter (action, heure, durée...).
    C'est depuis cette liste que tu travailles.
    Pour éviter de la lire en permanence, tu peux créer un système d’indexation du cron le plus proche, tu ne lis la liste que si l'heure arrive.

    Tout cela doit être fait en interne, coté serveur.
    Si un joueur se connecte, il ne récupère qu'une information sur le déroulement des actions. Pour ton cas, ce n'est en aucun cas avec lui que tu dois gérer tes crons.

    Rod
     
  9. _Soul
    _Soul WRInaute impliqué
    Inscrit:
    26 Avril 2011
    Messages:
    626
    J'aime reçus:
    0
    Merci de lire la réponse avant de répondre.

    Fin bon c'est pas grave, tu comprendras une fois que t'auras lancé le jeu.
     
  10. mazo0012
    mazo0012 Nouveau WRInaute
    Inscrit:
    15 Juin 2008
    Messages:
    12
    J'aime reçus:
    0
    tu ne nous apprends rien, désolé de te le dire.
    et en plus de ne pas lire le sujet, tu ne lis même pas les réponses des autres (il dit clairement d'utiliser le timestamp du serveur) :
     
  11. _Soul
    _Soul WRInaute impliqué
    Inscrit:
    26 Avril 2011
    Messages:
    626
    J'aime reçus:
    0
    Je répondais pas à Buzzistic mais à toi pour te dire que c'est pas une bonne solution.

    Fin bon puisque j'ai tord, regarde un while(;) + date dans une bdd.

    Et si tu veux faire un truc correct tu gère tout depuis du C et tu fais des sémaphores ;)
     
Chargement...
Similar Threads - Lancement tâches cron Forum Date
Monolingue au lancement, multilingue à court terme Référencement international (langues, pays) 16 Janvier 2020
Mon dernier site, et lancement d'un jeu en ligne Demandes d'avis et de conseils sur vos sites 26 Janvier 2018
Lancement boutique en ligne de Cosplay Demandes d'avis et de conseils sur vos sites 3 Février 2017
Lancement d'un site ecommerce - Coup de boost e-commerce 14 Août 2016
Seo : lancement d'un nouveau site, par quoi commencer ? Référencement Google 31 Juillet 2016
Pages AMP : lancement Google le 24/02/2016 Référencement Google 19 Février 2016
Préparer le lancement d'un site e-commerce e-commerce 11 Février 2016
lancement de plusieurs sites de résa en ligne Débuter en référencement 4 Décembre 2015
Marketplace Lancement Débuter en référencement 8 Octobre 2015
Lancement de Premsgo, moteur de recherche français Annuaires et moteurs 21 Septembre 2015