J'ai une application qui a facebook login. Les utilisateurs ont une action qui affecte les autres utilisateurs. Je souhaite que les utilisateurs concernés soient avertis en temps réel, s'ils sont connectés, sinon ils devraient voir les notifications lors de leur prochaine connexion. J'utilise tornado
(non bloquant) côté serveur. La base de données est mongodb
. J'utilise motor
en tant que client async mongodb et je pense que je voudrais utiliser socket.io
. Jusqu'à présent, Voilà comment je pense que je devrais le faire:facebook comme les notifications avec tornado, mongodb
Chaque fois qu'un utilisateur dit
user1
effectue une action qui affecteuser2
, la ligne correspondant àuser2
dans la collectionusers
sera mise à jour d'une manière suffisante pour produire le contenu de la notification.Lorsqu'un utilisateur dit
user2
se connecte au site Web, il se connecte viasocket.io
à un socket Web. Du côté serveur, à l'intérieuron_connect
toutes les notifications stockées sont envoyées au client et un gestionnaire est installé qui surveille la ligne correspondant àuser2
dans la collectionusers
. Chaque fois qu'il détecte une modification, il envoie un message indiquant une nouvelle notification. En outre, en lisant une notification, le client enverra un message au serveur qui réinitialisera l'entrée dans la collectionusers
. Ces gestionnaires doivent être désinscrits lors de la déconnexion. Les questions sont, comment installer ces gestionnaires?
La question est, comment installer ces gestionnaires? Je n'arrive pas à trouver un moyen pour que mongodb m'informe de tout changement. Comment puis-je faire cela?
MongoDB n'a pas moyen standard de fournir des notifications de modification. Vous devez ajouter cela à votre code de couche de données. – WiredPrairie