ActionCable.server.broadcast с консоли

Я могу использовать следующий код в контроллере, но не в консоли (обе среды разработки). Я использую Rails 5.0.0.beta2.

ActionCable.server.broadcast 'example_channel', message: '<p>Test</p>'

Консоль:

>> ActionCable.server.broadcast 'example_channel', message: '<p>Test</p>'
[ActionCable] Broadcasting to example_channel: {:message=>"<p>Test</p>"}
=> []

Как я могу использовать его в консоли?

Ответы

Ответ 1

Поведение ActionCable по умолчанию в режиме разработки - это использовать адаптер async, который работает только в одном процессе. Для межпроцессного вещания вам необходимо переключиться на адаптер redis.

Чтобы включить redis в режиме разработки, вам нужно будет отредактировать config/cable.yml:

redis: &redis
  adapter: redis
  url: redis://localhost:6379/1

production: *redis
development: *redis
test: *redis