Я пытаюсь подсчитать количество подписчиков на канал, созданный с помощью Action Cable.
Я думал, что был очень умен, когда нашел Redis NUMSUB. Я использую это так:
def update_view_count
pubsub = ActionCable.server.pubsub
channels_count = pubsub.send(:redis_connection).pubsub('NUMSUB', "app_development:comms_channel_#{params[:work]}")[1]
ActionCable.server.broadcast "comms_channel_#{params[:room]}",
view_count: channels_count
end
Но это возвращает 1 все время, независимо от того, сколько человек подписано. Что-то в NUMSUB я не понимаю? (подсказка: должно быть).
Спасибо за любую помощь.