En termes d'applications Web (et par extension Rails applications), en temps réel est une illusion. Une longue interrogation est une approximation très proche. Malheureusement, ce n'est pas bien adapté à Rails. Encore moins sur le passager.
L'interrogation longue nécessite une connexion ouverte permanente pour chaque utilisateur, ce qui n'est pas très important sur les serveurs qui n'ont pas été conçus pour le gérer (comme Apache). Malheureusement, il y a vraiment beaucoup de serveurs conçus pour une longue évolutivité d'interrogation qui fonctionne bien avec Rails. Vous pouvez essayer le serveur Shooting-Star, mais je n'ai aucune idée de la façon dont sa performance se compare à celle de Passenger, pour vos demandes standard.
Mon opinion personnelle sur les longues interrogations est que c'est une solution qui a besoin d'un problème.
Vraiment, vous devriez vous poser les questions suivantes:
- ce que ces mises à jour d'une priorité suffisamment élevée qu'ils ne peuvent pas attendre 40 secondes? Que va-t-il se passer si les mises à jour ne sont pas reçues immédiatement?
- Est-ce que mes utilisateurs vont tellement se concentrer sur mon application qu'attendre 15 secondes va avoir un impact négatif sur leur expérience?
- Quel pourcentage de l'attention d'un utilisateur mon application attire-t-elle dans des conditions normales d'utilisation?
- Combien de temps faut-il pour répondre à une mise à jour?
- Faut-il vraiment besoin d'être en temps réel?
Certaines de ces questions posent d'autres questions d'une manière différente, mais c'est un peu nécessaire avec de telles questions subjectives.
Je pense que vous voyez ce que je veux dire: Les mises à jour en temps réel sont très agréables, mais jamais vraiment nécessaires. Si vous travaillez sur quelque chose où la conséquence de ne pas réagir à une mise à jour en temps réel est la fin du monde. Vous ne devriez vraiment pas le développer en tant qu'application web.
Si vous avez encore votre avis sur les mises à jour en temps réel, vous pouvez regarder Juggernaut. Mais c'est une solution basée sur Flash.
Je ne comprends pas votre problème. Essayez-vous de mettre en place un flux d'activité utilisateur (comme Facebook)? – knoopx
Ce serait plus comme friendfeed. – user203616