2011-08-16 29 views
3

Rubyにリスナーのようなものはありますか? JSP用のセッションリスナーを持っていることは分かっていますので、似たものがあるかどうか疑問に思っていました。最終的には、セッションが作成または破棄されたときに待機するリスナーを作成して、現在オンラインになっているユーザーの数を表示できます。Ruby on Rails Listener

+0

Railsや他のフレームワークを使用していますか? – Daan

+0

こんにちは、Daan。私はRailsを使う。 – Brian

答えて

4

永続的なアクティブな接続(長いポーリング、彗星など)がない限り、ウェブサーバーでオンラインになっているユーザーの数はわかりません。

セッションストアを調べて、最後のX分でアクティブだったユーザーを数えることをお勧めします。

ユーザーが切断すると、リスナーが確実に起動しません。たとえば、 'login'と 'logout'ロジックを使用すると、インターネット接続が失敗したり、ログアウトボタンなどを忘れることがあるため、すべてのログアウトアクションを取得することはありません。

アップデート:Railsについては、このフォーラムの投稿:http://railsforum.com/viewtopic.php?id=18480をチェックしてください。

+0

助けてくれてありがとう。私はポストを読んで、それは簡単な解決策であるようです。私はそれを試してみる。 – Brian

+0

幸運!ところで、聞くイベントがあるときに、Railsにリスナーを置くことができます。たとえば、ActiveRecordオブザーバ(http://api.rubyonrails.org/classes/ActiveRecord/Observer.html) – Daan

+1

を参照してください。私はすでにこのソリューションを実装しました。うまくいっているようだ。再度、感謝します。 – Brian