JeuWeb - Crée ton jeu par navigateur
Opérations en Hors ligne - 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 : Opérations en Hors ligne (/showthread.php?tid=1357)

Pages : 1 2 3 4 5 6 7


RE: Opérations en Hors ligne - Sephi-Chan - 08-05-2011

De mon côté, je suis directement parti sur le système de file, un simple at ne collait pas à mon besoin.
Je me pose des questions quant à la tolérance à l'arrêt du système. Comme c'est lié au temps, je ne vois pas comment le système pourrait être fault tolerant : crash du serveur, coupure du réseau, ou même simplement le site qui ne répond pas au callback.
Des suggestions ?


Sephi-Chan


RE: Opérations en Hors ligne - niahoo - 08-05-2011

avec mon système je vais me contenter d'entrer toutes les informations en base de données. quand une tache démarre, la file enregistre l'id de sa tache en cours. quand on ajoute une tache à la file, la file enregistre sa liste de taches, idem quand l'une se termine.

pour la coupure du réseau je pourrais faire une appli distribuée sur deux serveurs distants mais bon faut avoir des thunes à y mettre quoi. Si un jour je sors une jeu qui a du succès pourquoi pas.

Quand au callback qui ne répond pas, tu peux stocker toutes les requêtes qui n'ont pas eu de réponse ou un code 500, et essayer de les relancer dans l'ordre toutes les minutes ?


RE: Opérations en Hors ligne - Jeckel - 09-05-2011

@Sephi : ta solution est celle qui pousse les notifications de fin de tâche au serveur du jeu ? c'est bien ça ?

Je dirais qu'une première sécurité serait de rajouter un système d'accusé de réception que tu stockes avec la tâche, toute tâche qui est terminée et qui n'a pas son accusé de réception doit être renvoyée, avec une boucle sur un intervalle de temps à définir. Ça n'empêche pas les crash, mais devrait permettre une reprise plus facile.

A voir ensuite ce que tu utilises comme accusé de réception... simplement le bon déroulement de l'envoie (pas de timeout ou autre code erreur) ou bien une code dans le corps de la réponse ?