2011-08-16 12 views
3

Ruby에 리스너와 같은 것이 있습니까? JSP에 대한 세션 리스너가 있다는 것을 알고 있으므로 비슷한 것이 있는지 궁금합니다. 궁극적으로 세션을 만들거나 삭제할 때들을 수있는 청취자를 만들어서 현재 온라인 상태 인 사용자 수를 표시 할 수 있습니다.Ruby on Rails Listener

+0

레일 또는 다른 프레임 워크를 사용합니까? – Daan

+0

안녕하세요, Daan. 나는 레일즈를 사용한다. – Brian

답변

4

영구적 인 활성 연결 (예 : 긴 폴링, 혜성과 같은 것)이없는 한 웹 서버에서 얼마나 많은 사용자가 온라인 상태인지 알 수 없습니다.

가장 좋은 방법은 세션 저장소를 살펴보고 마지막 X 분 동안 활성 상태 인 사용자를 계산하는 것입니다.

사용자가 연결을 끊어도 청취자가 안정적으로 작동하지 않습니다. 예를 들어, '로그인'및 '로그 아웃'논리를 사용하면 인터넷 연결이 실패하거나 사용자가 로그 아웃 버튼 등을 누를 수 있기 때문에 모든 로그 아웃 작업을 수행하지 않습니다.

업데이트 : 레일스의 경우이 포럼 게시물 (http://railsforum.com/viewtopic.php?id=18480)을 확인하십시오. 자세한 내용은이 솔루션을 참조하십시오.

+0

도움에 감사드립니다. 나는 그 글을 읽었고 간단한 해결책 인 것처럼 보인다. 나는 그것을 시도 할 것이다. – Brian

+0

행운을 빈다! BTW : 경청 할 사건이있을 때 당신은 경주에있는 경청자가있을 수있다. 예를 들어 ActiveRecord 관찰자 (http://api.rubyonrails.org/classes/ActiveRecord/Observer.html) – Daan

+1

을 참조하십시오. 이미 솔루션을 구현했습니다. 잘 작동하는 것 같습니다. 다시 한번 감사드립니다. – Brian