class

ActionCable::RemoteConnections

v7.2.3 - Show latest stable - Superclass: Object

# Action Cable Remote Connections

If you need to disconnect a given connection, you can go through the RemoteConnections. You can find the connections you’re looking for by searching for the identifier declared on the connection. For example:

module ApplicationCable
  class Connection < ActionCable::Connection::Base
    identified_by :current_user
    ....
  end
end

ActionCable.server.remote_connections.where(current_user: User.find(1)).disconnect

This will disconnect all the connections established for `User.find(1)`, across all servers running on all machines, because it uses the internal channel that all of these servers are subscribed to.

By default, server sends a “disconnect” message with “reconnect” flag set to true. You can override it by specifying the `reconnect` option:

ActionCable.server.remote_connections.where(current_user: User.find(1)).disconnect(reconnect: false)

Attributes

[R]server

Files

  • actioncable/lib/action_cable/remote_connections.rb