2011-05-15 6 views
2

Je suis un nouveau programmeur et essaye de mettre en place un "feed" de type facebook dans mon application. À chaque fois qu'un utilisateur apporte des modifications à son profil, ses profils liés l'apprendront sous forme de fil d'actualité.Comment implémenter des objets Facebook Post Type dans GAE?

Mais je suis bloqué à ce sujet car je pensais que chaque fois qu'un utilisateur enregistre des données (comme "News", "Blog", "Event" ou tout "Commentaire") il suffit d'envoyer l'identifiant des classes respectives aux profils liés et ils le verront. Comme l'identifiant n'est pas généré avant que l'objet ne soit enregistré, le problème est de savoir comment les envoyer. J'ai pensé à suivre les solutions de contournement, mais chacun a un problème.

Chaque fois qu'un utilisateur publie une nouvelle .... un objet Post sera créé et ajouté à la collection de messages de l'utilisateur. Mais comment les autres utilisateurs sauront à ce sujet .....

1) Envoyez-leur l'ID .... mais lorsque l'ID n'est pas créé, comment pouvez-vous leur envoyer l'ID.

2) Envoyez-leur le message de message et quand ils verront jamais ... le dernier message à eux de l'utilisateur particulier sera montré .. mais si plus de 3 messages alors qui seront montrés ?? Montré par la poste de création Date de poste plus grand que cette date est montré .... mais il doit être montré des messages plus récents ..

3) Enregistrer le message dans tous les suiveurs de flux. les données seront beaucoup plus grandes que

4) tous les abonnés à la connexion vont vérifier toutes les personnes qu'ils suivent et enregistrer leur flux après l'horodatage? Comment mettre en œuvre cela comme la poste est enregistrée dans le profil de l'utilisateur, donc je devrais vérifier toute la personne suivante, puis vérifier le flux et les montrer dans sa boîte de flux; Je pense que je devrais utiliser des processus par lots. Le traitement prendra beaucoup plus de temps. J'utilise objectivy-appengine pour faire des opérations sur GAE.

Toute aide est appréciée

+0

Je ne comprends pas vraiment votre problème. Pourquoi ne pas simplement enregistrer le nouvel objet, puis obtenir l'identifiant et faire ce que vous voulez avec? –

+0

pour obtenir l'ID Je dois récupérer les données du magasin de données, puis l'envoyer à tous les profils liés. N'est-ce pas trop d'appels de banque de données pour enregistrer le message, puis un autre pour le récupérer. Et s'il y a environ 2000 messages par minute? – t0mkaka

+0

après avoir persisté l'objet il a déjà un identifiant en mémoire. Si vous devez notifier un grand nombre d'utilisateurs avec cet ID, vous pouvez utiliser la file d'attente de tâches pour y parvenir –

Répondre

0

Êtes-vous désireux de mettre à jour la page avec les messages en temps réel comme sur Facebook et Twitter? Pour y parvenir sur Google App Engine, vous pouvez utiliser le Channel API, qui fonctionne conjointement avec Javascript pour écouter les nouvelles données et mettre à jour le DOM.

0

This talk à Google I/O 2009 par Brett Slatkin décrit exactement le modèle que vous devriez utiliser pour cela.

Questions connexes