Quantcast
Channel: Active questions tagged redis+ruby-on-rails - Stack Overflow
Viewing all articles
Browse latest Browse all 873

action cable subscribing locally, but not on heroku

$
0
0

I've been trying everything I can find online, and nothing is working. Hoping some fresh eyes will see the issue. This is my first time using ActionCable, and everything works great locally, but when pushing to heroku. my logs do not show any actioncable subscriptions like my dev server:

[ActionCable] [email@email.com] MsgsChannel is streaming from msg_channel_34

and when sending a message, I do see [ActionCable] Broadcasting to msg_channel_34: but they are not appending, which I'm guessing means that the received method is not being accessed/called?

I do notice on heroku's logs it says Listening on tcp://0.0.0.0:5000 where as dev it is listening at localhost:3000. Should I be pointnig towards my heroku app somehow?

Here are the relevant configuration files:

Procfile:

web: bundle exec puma -p 5000  ./config.ru  actioncable: bundle exec puma -p 28080  cable/config.ru  redis: redis-server  

***Thanks to the comment below, I am also trying. Still not working, but I can see that the port it's listening to is changing, making me believe it has something to do with the configuration? :

web: bundle exec puma -p $PORT  ./config.ru  actioncable: bundle exec puma -p $PORT  cable/config.ru  redis: redis-server  

/cable/config.ru

require ::File.expand_path('../../config/environment',  __FILE__)  Rails.application.eager_load!ActionCable.server.config.allowed_request_origins = ["http://localhost:3000"]  run ActionCable.server 

config/environments/development.rb

config.action_cable.allowed_request_origins = ['localhost:3000']config.action_cable.url = "ws://localhost:3000/cable"

config/environments/production.rb

config.web_socket_server_url = "wss://app-name.herokuapp.com/cable"  config.action_cable.allowed_request_origins = ['https://app-name.herokuapp.com', 'http://app-name.herokuapp.com']

config/cable.yml

local: &local    adapter: async  :url: redis://localhost:6379  :host: localhost  :port: 6379  :timeout: 1  :inline: truedevelopment: *local  test: *localproduction:  :url: redis:<%= ENV["REDISTOGO_URL"] %>  adapter: redis

<%= ENV["REDISTOGO_URL"] %> is set, confirmed by running heroku config

routes.rb

mount ActionCable.server => '/cable'

Why is this working on dev, but not on heroku? I've been reading for hours, but can not figure it out. Thank you!!

UPDATE:heroku logs:

2017-01-25T20:32:57.329656+00:00 heroku[web.1]: Starting process with command `bundle exec puma -p 5000  ./config.ru`2017-01-25T20:32:59.600554+00:00 app[web.1]: Puma starting in single mode...2017-01-25T20:32:59.600574+00:00 app[web.1]: * Version 3.6.2 (ruby 2.3.1-p112), codename: Sleepy Sunday Serenity2017-01-25T20:32:59.600575+00:00 app[web.1]: * Min threads: 0, max threads: 162017-01-25T20:32:59.600577+00:00 app[web.1]: * Environment: production2017-01-25T20:33:02.375128+00:00 app[web.1]: profile controller2017-01-25T20:33:02.588653+00:00 app[web.1]: Use Ctrl-C to stop2017-01-25T20:33:02.588446+00:00 app[web.1]: * Listening on tcp://0.0.0.0:50002017-01-25T20:33:17.681469+00:00 heroku[web.1]: Error R10 (Boot timeout) -> Web process failed to bind to $PORT within 60 seconds of launch2017-01-25T20:33:17.681469+00:00 heroku[web.1]: Stopping process with SIGKILL2017-01-25T20:33:17.862118+00:00 heroku[web.1]: Process exited with status 1372017-01-25T20:33:57.501746+00:00 heroku[web.1]: Error R10 (Boot timeout) -> Web process failed to bind to $PORT within 60 seconds of launch2017-01-25T20:33:57.501908+00:00 heroku[web.1]: Stopping process with SIGKILL2017-01-25T20:33:57.630071+00:00 heroku[web.1]: Process exited with status 1372017-01-25T20:33:57.642753+00:00 heroku[web.1]: State changed from starting to crashed

Viewing all articles
Browse latest Browse all 873

Trending Articles