From f18d1e1e52c3163f0bcd1ca2adde1ff84e44830c Mon Sep 17 00:00:00 2001 From: Chad Ingram Date: Tue, 17 Jan 2017 23:37:28 -0500 Subject: Update ActionCable guide to better describe SubscriptionAdapter configuration. --- guides/source/action_cable_overview.md | 25 ++++++++++++++++++++++--- 1 file changed, 22 insertions(+), 3 deletions(-) (limited to 'guides/source/action_cable_overview.md') diff --git a/guides/source/action_cable_overview.md b/guides/source/action_cable_overview.md index 319277ef68..ff21319c8a 100644 --- a/guides/source/action_cable_overview.md +++ b/guides/source/action_cable_overview.md @@ -240,8 +240,8 @@ WebNotificationsChannel.broadcast_to( ``` The `WebNotificationsChannel.broadcast_to` call places a message in the current -subscription adapter (by default `redis` for production and `async` for development and -test environments)'s pubsub queue under a separate broadcasting name for each user. +subscription adapter (by default `redis` for production and `async` for development and +test environments)'s pubsub queue under a separate broadcasting name for each user. For a user with an ID of 1, the broadcasting name would be `web_notifications:1`. The channel has been instructed to stream everything that arrives at @@ -530,7 +530,7 @@ Action Cable has two required configurations: a subscription adapter and allowed ### Subscription Adapter By default, Action Cable looks for a configuration file in `config/cable.yml`. -The file must specify an adapter and a URL for each Rails environment. See the +The file must specify an adapter for each Rails environment. See the [Dependencies](#dependencies) section for additional information on adapters. ```yaml @@ -543,7 +543,26 @@ test: production: adapter: redis url: redis://10.10.3.153:6381 + channel_prefix: appname_production ``` +#### Adapter Configuration + +##### Async Adapter + +The async adapter is intended for development/testing and should not be used in production. + +##### Redis Adapter + +The Redis & Evented Redis adapters require a url pointing to the Redis server. Additionally, +a channel_prefix may be provided to avoid channel name collisions when using the same Redis server. +server for multiple applications. See the [Redis PubSub documentation](https://redis.io/topics/pubsub#database-amp-scoping) for more details. + +See the +[Dependencies](#dependencies) section for additional information on adapters. + +##### PostgreSQL adapter + +The postgres adapter will use the ActiveRecord connection pool for it's connection. This may change in the future. [#27214](https://github.com/rails/rails/issues/27214) ### Allowed Request Origins -- cgit v1.2.3