JeuWeb - Crée ton jeu par navigateur
[PHP] Resque ou Rediska et Redis : je rame complétement... - Version imprimable

+- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org)
+-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38)
+--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51)
+--- Sujet : [PHP] Resque ou Rediska et Redis : je rame complétement... (/showthread.php?tid=5821)

Pages : 1 2 3 4 5 6 7 8 9


RE: [PHP] Resque ou Rediska et Redis : je rame complétement... - qwarnant - 27-11-2011

(27-11-2011, 07:09 AM)Hideaki a écrit : Pour le coup, je vais faire un double poste Smile
Malgré que je sois du même avis que Sephi-chan sur le php, j'ai voulu disséqué la manière de gestion des queues en php.

Pour ma petite étude j'ai pris comme base XGproyect qui se nomme comme le successeur du projet XNova qui est lui même basé sur Ogame ( ou peut-être l'inverse j'en sais rien).

Avec XGproyect le résultat est simple, à chaque appel de page ou d'appel ajax l'ensemble des actions sont calculés. Le fichier common.php crée n objets (n étant le nombre de tâche à effectuer) exemple class.FlyingFleetHandler.php celui-ci met un verrou à la base de donnée fait ce qu'il a faire, supprime le contenu et déverrouille.

Si tu veux étudier les queues également en PHP dans une plateforme OG-Like, par exemple XGP, tu peux aller voir dans classes/functions/ et tu as là toutes les fonctions de traitement d'une queue, du moins comment eux ils l'implémentent.
Il y a les queues pour les constructions des bâtiments, et celles pour les constructions de vaisseaux/défenses.

Cordialement



RE: [PHP] Resque ou Rediska et Redis : je rame complétement... - php_addict - 27-11-2011

merci pour vos posts, je vais étudier la question, mais j'ai bien peur que je sois obligé de garder mon système de verrouillage de table finalement...


RE: [PHP] Resque ou Rediska et Redis : je rame complétement... - srm - 27-11-2011

Arrête de vouloir utiliser un truc que tu auras besoin lors de très fort trafic, tu en est pas là.


RE: [PHP] Resque ou Rediska et Redis : je rame complétement... - Sephi-Chan - 27-11-2011

J'avais cité Gearman mais lui non plus n'est pas capable de gérer le scheduling. Je crois vraiment qu'il n'y a rien pour ça en PHP en dehors de Zend Server Job Queue… C'est vraiment étrange qu'une communauté si énorme que celle de PHP soit si pauvre. Encore un signe qui montre qu'il est temps de changer de langage.

Sinon la solution de XNova et compagnie n'est pas optimale du tout : ça fait beaucoup d'opérations parfois lourdes dans le cycle des requêtes HTTP. Du coup ça fait des requêtes HTTP qui durent plus longtemps et ça fait patienter le joueur. Après, c'est clair qu'ils font ce qu'ils peuvent comme ils peuvent.

Et sinon, je persiste à te conseiller d'arrêter de traiter des problèmes qui n'existent pas encore. C'est pas du tout pragmatique et ça peut te fermer des portes.


RE: [PHP] Resque ou Rediska et Redis : je rame complétement... - srm - 27-11-2011

Bah parce qu'un gestionnaire de queue... C'est un gestionnaire de queue.
Il n'a pas à avoir d'option de Scheduling Smile
Si sur Google tu fais cette recherche : http://www.google.fr/search?q=php+scheduling
Tu as un paquet de résultats, il doit y en avoir plusieurs d'intéressants Smile


RE: [PHP] Resque ou Rediska et Redis : je rame complétement... - Sephi-Chan - 27-11-2011

(27-11-2011, 12:57 PM)oxman a écrit : Bah parce qu'un gestionnaire de queue... C'est un gestionnaire de queue.
Il n'a pas à avoir d'option de Scheduling Smile


On s'en fout du nom, c'est le besoin qui compte.
Il ne semble pas y avoir de solution de scheduling en PHP.

Resque Scheduler n'est qu'un processus qui retient les éléments programmé et les injecte dans la queue à l'heure prévue.


(27-11-2011, 12:57 PM)oxman a écrit : Si sur Google tu fais cette recherche : http://www.google.fr/search?q=php+scheduling
Tu as un paquet de résultats, il doit y en avoir plusieurs d'intéressants Smile

Je viens de regarder phpScheduleIt et phpJobScheduler et c'est assez pauvre comme solution. Ça marche mais ça tape quand même le serveur Web avec une page type do_something.php qui est appelée à l'heure donnée…


RE: [PHP] Resque ou Rediska et Redis : je rame complétement... - srm - 27-11-2011

http://www.phpjobscheduler.co.uk/
Citation :Schedule a task to run every few minutes, hourly, daily or weekly - scheduled data is stored in a MySQL database via PHP. phpJobScheduler will fire any PHP script (or perl script) for you at the correct day/time (dependant upon your traffic to your web site).

Il a l'air de faire ce qu'il faut lui non ?


RE: [PHP] Resque ou Rediska et Redis : je rame complétement... - Sephi-Chan - 27-11-2011

Il fait le nécessaire mais pas d'une très bonne manière.
Il est efficace mais pas efficient. ^^


RE: [PHP] Resque ou Rediska et Redis : je rame complétement... - srm - 27-11-2011

En quoi ?


RE: [PHP] Resque ou Rediska et Redis : je rame complétement... - atra27 - 27-11-2011

Surement a cause de ça:
Citation :(dependant upon your traffic to your web site).

En gros si a l'heure prévue t'a un visiteur, c'est cool.
Mais si ton visiteur vient 1h après l'heure de ta tache, et bien ta tache aura été effectuée avec une heure de retard.

Et on retombe dans le même problème de faire patienter le visiteur et patati et patata!

Non la seule solution, c'est de se bouger un peu et de créer soit même sa lib d'interaction avec le processus Resque Scheduler.

Je connais pas resque, jamais testé, mais vu que ruby/php on l'air d’être tous deux dépendant d'un appel d'un client pour s’exécuter, le scheduling doit avoir lieu a un autre niveau, et si c'est le cas on doit pouvoir interagir avec ce niveau aussi bien en php qu'en ruby.

Corrigez moi si je me trompe mais peut être faudrait il penser a se créer des solutions par soit même plutôt que de chercher des solutions dans des libs.

@Sephi-Chan: y a moyen que tu poste le contenu de la méthode queue_in de ta classe ruby stp?