Mise à jour automatique en php [Résolu/Fermé]

Signaler
Messages postés
335
Date d'inscription
jeudi 3 juin 2010
Statut
Membre
Dernière intervention
28 novembre 2012
-
Messages postés
335
Date d'inscription
jeudi 3 juin 2010
Statut
Membre
Dernière intervention
28 novembre 2012
-
Bonjour,

Je réalise actuellement un jeu, et tous les jours à 0H00, les joueurs doivent recevoir leurs salaires, régler leurs loyers, leurs prélèvements d'impôts, leurs emprunts, et les sociétés doivent construire des habitations en fonction des outillages disponibles, du nombre de salariés... Bref un très grand nombre de calcul et cela a mis aujourd'hui plus de 12 secondes au server pour seulement 10 constructions en cours, et une cinquantaines de joueurs, et autant en sociétés.

Etant donné que je m'attend à avoir bien plus de joueurs en fin de béta,
J'aimerai connaitre un code qui me permettrai que le serveur fasse ses calculs à heures précises si possible (0H00) tous les jours tout en bloquant l'accès au jeu aux joueurs.

Jusqu'à aujourd'hui, je profitais du premier joueur de la journée qui charge une page pour effectuer cette commande (de forçage de Mise à jour) Le délai de rafraichissement était encore correcte (12 sec).

Mais le problème, c'est qu'à l'instant, je viens de simuler une mise à jour, et elle atteindrait environ à 20 sec, et Le Server envoie une page "Page non trouvé désolé"... Et la mise à jour ne se met pas en place...

Comment pourrai-je pratiquer ?

Merci de votre aide...

3 réponses

Messages postés
2493
Date d'inscription
jeudi 14 juillet 2005
Statut
Contributeur
Dernière intervention
5 juin 2016
317
Tu dois utiliser si tu es Linux le programme cron qui te permet de planifier une tâche. Un script PHP peut aussi (et ça t'arrange bien) être exécuter en ligne de commande. Et pour plus d'infos, Google is your friend
Messages postés
335
Date d'inscription
jeudi 3 juin 2010
Statut
Membre
Dernière intervention
28 novembre 2012
29
Tu pourrais juste me donner des mots clés... Ca fait une heure que je cherche, et rien... Merci
Messages postés
2493
Date d'inscription
jeudi 14 juillet 2005
Statut
Contributeur
Dernière intervention
5 juin 2016
317
Tout d'abord, as-tu les droits pour ajouter une tâche planifié sur le serveur ?
Messages postés
335
Date d'inscription
jeudi 3 juin 2010
Statut
Membre
Dernière intervention
28 novembre 2012
29
J'ai un peu avancer d'après les renseignements que tu m'as donné:
Free est sous UNIX donc il faut que j'utilise CRON
Il faudrait que j'utilise l'une des fonctions suivantes:
exec()
passthru()
system()
popen() et pclose()
shell_exec()
Reste à ce que je trouve celle qui va...
Et que je recherche les "droits" dont tu me parles...
Messages postés
2493
Date d'inscription
jeudi 14 juillet 2005
Statut
Contributeur
Dernière intervention
5 juin 2016
317
Quand je parle de droits je veux dire par là "est-ce que tu peux créer une tâche ?"
Messages postés
335
Date d'inscription
jeudi 3 juin 2010
Statut
Membre
Dernière intervention
28 novembre 2012
29
"Quand au CRON, chez FREE à priori il n'y en a pas, par contre je suis tombé sur http://www.onlinecron.com/index.html "

a dit un autre membre du forum.

J'y suis allé, et c'est tout à fait ce que je recherchais.


Merci à ghuysmans99 de m'avoir diriger vers la solution.