Twitter on Rails (1 - 0)

édité Le 10/06/2010 à 15:14 par Trinoo

Contrairement au dernier article qui stipule une installation d'un "reader" de Twitter sous RoR en 5 min, il m'a fallut 30 min pour l'installer ; 30 secondes pour installer le Gem Twitter, 2 min pour accèder à l'API Twiter via OAuth, et 2 min pour éditer la vue simpliste des Tweets...

Les 25 min restantes ?... heeuu... c'était la mise en place de la vue dans le template. Il y avait pas mal de solutions pour l'intégrer sous Trinoo.net, mais souvent on passe beaucoup de temps à chercher la solution optimale qui demande le moins de code avec une super "factorisation".

Le point sur lequel je n'ai pas réfléchi avant d'ajouter ce Widget sous le site, c'était le ralentissement de l'affichage des pages, comme ce n'est pas une fonction Javascript. La latence de Twitter viendra s'empiler sur l'ouverture des pages.
Donc pour le moment, je remets Trinoo.net comme c'était, avec sa pastille Béta et je sors faire un tour pour méditer sur la question.

L'autre problèmatique, se trouve au niveau des cotas par rapport aux requêtes soumises à l'API de Twitter. Celles-ci sont limitées à 150 Réqs/heure (/IP, il me semble).
La méthode ".rate_limit_status" me renvoit un tableau dans le genre : <#Hashie::Mash hourly_limit=150 remaining_hits=147 reset_time="Thu Jun 10 15:44:22 +0000 2010" reset_time_in_seconds=1276184662>, une information interessante à utiliser en son application pour gérer le rafraîchissement des données.

Les Solutions auxquelles je pense ; créer un cache sur la vue des "Tweets" qui expire toutes les N minutes et ça sera CRON (le Daemon) à prendre soin de cette fonction.
L'autre solution, moins classe, serait une fonction dites "background" qui fonctionne en "asynchrone" et passe la plupart de son temps à dormir en "standby" avec un "Sleep" pour se réveiller de nouveau et rafraîchir le cache.

Après une promenade dans les champs, j'aurais peut-être une meilleure idée plus simple...