현재 채팅중인 사용자의 수 (기본적으로 얼마나 많은 사람들이 현재 기능을보고 있는지)를 사용자에게 표시하고 싶다고 가정합니다.레일즈에서 웹 페이지에 대해 "지금 시청 중"기능을 구현하는 방법
내가 생각했던 것은 각 actioncable 채널에 대해 redis 카운터를 사용하고 클라이언트가 채널에 연결되거나 연결이 끊어졌을 때이 카운터를 증가 및 감소시키고 거기에 도달했지만이 방법의 문제점은 클라이언트가 웹 페이지를 연 다음 카운터가 증가하고 서버가 잠시 동안 다운되어 클라이언트가 웹 페이지를 닫으면 연결 해제 된 이벤트는 수신되지 않으므로 카운터가 감소하지 않습니다 그 가치는 항상 틀릴 것입니다.
서버가 닫힐 때 이벤트를 잡을 수 있으면이 접근 방식을 향상시킬 수 있다고 생각합니다. 그런 경우 모든 (예 : 승객과 함께 nginx를 사용하고 있습니다.) 이러한 이벤트를 잡는 방법은 확실하지 않습니다. . 그래서 어떤 도움이라도?
왜이 문제에 대해서만 redis 카운터에 만료를 설정하지 않는 것이 좋을까요? –