Mise à jour automatique en php

Résolu/Fermé
louloute300 Messages postés 335 Date d'inscription jeudi 3 juin 2010 Statut Membre Dernière intervention 28 novembre 2012 - 3 juin 2010 à 21:09
louloute300 Messages postés 335 Date d'inscription jeudi 3 juin 2010 Statut Membre Dernière intervention 28 novembre 2012 - 5 juin 2010 à 14:36
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...
A voir également:

3 réponses

ghuysmans99 Messages postés 2496 Date d'inscription jeudi 14 juillet 2005 Statut Contributeur Dernière intervention 5 juin 2016 338
3 juin 2010 à 21:40
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
0
louloute300 Messages postés 335 Date d'inscription jeudi 3 juin 2010 Statut Membre Dernière intervention 28 novembre 2012 29
3 juin 2010 à 22:18
Tu pourrais juste me donner des mots clés... Ca fait une heure que je cherche, et rien... Merci
0
ghuysmans99 Messages postés 2496 Date d'inscription jeudi 14 juillet 2005 Statut Contributeur Dernière intervention 5 juin 2016 338
3 juin 2010 à 22:48
Tout d'abord, as-tu les droits pour ajouter une tâche planifié sur le serveur ?
0
louloute300 Messages postés 335 Date d'inscription jeudi 3 juin 2010 Statut Membre Dernière intervention 28 novembre 2012 29
4 juin 2010 à 09:05
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...
0
ghuysmans99 Messages postés 2496 Date d'inscription jeudi 14 juillet 2005 Statut Contributeur Dernière intervention 5 juin 2016 338
4 juin 2010 à 18:08
Quand je parle de droits je veux dire par là "est-ce que tu peux créer une tâche ?"
0
louloute300 Messages postés 335 Date d'inscription jeudi 3 juin 2010 Statut Membre Dernière intervention 28 novembre 2012 29
5 juin 2010 à 14:36
"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.
0