Nous implémentons un serveur de conversation en utilisant Tornado.Quel mutex/verrouillage/mécanisme d'attente à utiliser lors de l'écriture d'une application de conversation avec Tornado Web Framework
La prémisse est simple, un utilisateur ouvre une connexion HTTP ajax au serveur Tornado, et le serveur Tornado ne répond que lorsqu'un nouveau message apparaît dans la salle de discussion. Chaque fois que la connexion se ferme, même si un nouveau message est entré ou qu'une erreur/un dépassement de délai s'est produit, le client rouvre la connexion.
En regardant Tornado, la question se pose de savoir quelle bibliothèque pouvons-nous utiliser pour nous permettre de faire attendre ces appels sur un objet central qui les signalerait - A_NEW_MESSAGE_HAS_ARRIVED_ITS_TIME_TO_SEND_BACK_SOME_DATA
. Pour décrire cela en termes Win32, chaque appel asynchrone serait représenté comme un thread qui serait suspendu sur un WaitForSingleObject(...)
sur un Mutex/Event/etc. Central.
Nous fonctionnerons dans un environnement Python standard (Tornado), y a-t-il quelque chose de intégré que nous pouvons utiliser, avons-nous besoin d'une bibliothèque/serveur externe, est-ce quelque chose que Tornado recommande?
Merci