URL: https://linuxfr.org/suivi/pubsubhubbub Title: pubsubhubbub Authors: rakoo Date: 2012年09月18日T00:09:20+02:00 Tags: redis Score: 6 Suite à [ma question sur le forum](https://linuxfr.org/forums/g%C3%A9n%C3%A9ralg%C3%A9n%C3%A9ral/posts/notifications-intelligentes), je me suis mis en tête d'implémenter la notification pubsubhubbub des contenus de linuxfr.org. Mon patch se décompose en deux parties : * La partie interne, qui se contente de remplir la db Redis utilisée par le site avec un Set, qui contient les urls à publier : [lien github de la comparaison](https://github.com/rakoo/linuxfr.org/compare/pubsubhubbub) * La partie externe, un script ruby qui tourne en rond, lit les urls à publier et les publie: [lien github](https://github.com/rakoo/notif-linuxfr.org) Il y a une astuce pour ne pas faire une boucle simplette: j'utilise la commande `blpop`, qui bloque la boucle lorsque la cible est vide. Celle-ci va être remplie par la notification dans rails. J'ai préféré faire un script externe, pour ne pas alourdir le site, pour ne pas le faire planter si quelque chose ne passe pas, parce que de toute façon je pensais utiliser Redis pour avoir une sorte de persistance au cas où le script plante, et surtout pour pouvoir réutiliser ce script dans d'autres circonstances (notifications pour l'admin, améliorations avec des emails, utilisation pour un autre site web,...) Pour le moment, seuls les Commentaires sont modifiés. Je pense qu'il est plus sage de se limiter à cela pour le moment, voir comment ça se passe, et étendre ça aux Journaux et aux News plus tard (mais vous comprendrez en voyant le diff que c'est très simple) Testé sur la dernière version du site, sur les commentaires.