À moins qu'il ya une bonne raison pour cela, ne pas essayer de mettre la logique de jeu dans votre base de données. Surtout n'essayez pas d'architecturer une solution où vous devez exécuter des milliers de minuteurs sur votre serveur.
Le code minuteur appartient au client. La façon dont je l'implémenterais est de stocker la dernière date/heure où ils ont de l'énergie et quand une minuterie se déclenche dans l'application comparez "maintenant" à cela et ajoutez autant d'énergie que nécessaire, en stockant la nouvelle date/heure de la limite de 10 minutes la plus récente.
Cette logique traiterait également l'application étant endormi/fermé pendant ce temps, il suffit d'appeler le même code au démarrage de l'application.
Si la sécurité est un problème puis stocker les données pour calculer cette sécurité et de mettre cette logique en fonction des nuages, mais toujours la minuterie qu'il appelle dans le client.
La fréquence à laquelle vous utilisez cette méthode dépend de vous. Vous pouviez tirer à chaque seconde si vous le vouliez vraiment et cela ne ferait qu'ajouter de l'énergie toutes les 10 minutes.
Merci, Timothy! Je suis également arrivé à cette conclusion hier, et j'ai rédigé un pseudo-code pour commencer. Merci encore pour tous vos bons conseils! – Pixelsage