26-02-2013, 09:14 PM
(Modification du message : 26-02-2013, 09:15 PM par Sephi-Chan.)
Je ne comprends pas en quoi l'exécution de calculs lourds rendraient ton serveur inaccessible.
Tu lances la résolution à intervalle régulier en arrière plan (via un système de scheduling/queueing) ou un Cron et tout se passera bien.
La seule chose que tu dois faire, c'est de ne pas venir polluer la résolution en cours par de nouveaux ordres. La solution est simple : les ordres sont associés à un tour de jeu : en début de traitement automatique on incrémente le tour courant, ainsi tous les ordres passés à partir de cet instant seront marqués comme appartenant au tour suivant.
Si ton jeu est découpé en parties, tu peux même résoudre en parallèle plusieurs parties.
Après, pour la durée d'exécution, le mieux est de faire des tests : on ne peut pas prévoir comme ça.
Tu lances la résolution à intervalle régulier en arrière plan (via un système de scheduling/queueing) ou un Cron et tout se passera bien.
La seule chose que tu dois faire, c'est de ne pas venir polluer la résolution en cours par de nouveaux ordres. La solution est simple : les ordres sont associés à un tour de jeu : en début de traitement automatique on incrémente le tour courant, ainsi tous les ordres passés à partir de cet instant seront marqués comme appartenant au tour suivant.
Si ton jeu est découpé en parties, tu peux même résoudre en parallèle plusieurs parties.
Après, pour la durée d'exécution, le mieux est de faire des tests : on ne peut pas prévoir comme ça.