websocket-rails: Redis error when sending two different messages
Hey guys,
On my websocket controller, if I trigger two different websocket events, I get an error message about redis and the server exits. Take a look:
#the action of my websocket controller, triggered after an event
def action
WebsocketRails['private_channel'].trigger 'received_chat_message', json #I'm sending to a priva channel here
WebsocketRails.users[current_user.id].send_message('notify_received_message', 'other_message') #I'm sending to a specific user here
end
The weird thing is that If I comment one line out (doesn’t matter which one), it doesn’t give me any error. But if the two statements runs, I get:
/Users/ricardonacif/.rbenv/versions/1.9.3-p551/lib/ruby/gems/1.9.1/gems/redis-3.2.1/lib/redis/client.rb:331:in `rescue in establish_connection': Error connecting to Redis on localhost:6379 (Errno::ECONNREFUSED) (Redis::CannotConnectError)
from /Users/ricardonacif/.rbenv/versions/1.9.3-p551/lib/ruby/gems/1.9.1/gems/redis-3.2.1/lib/redis/client.rb:317:in `establish_connection'
from /Users/ricardonacif/.rbenv/versions/1.9.3-p551/lib/ruby/gems/1.9.1/gems/redis-3.2.1/lib/redis/client.rb:94:in `block in connect'
from /Users/ricardonacif/.rbenv/versions/1.9.3-p551/lib/ruby/gems/1.9.1/gems/redis-3.2.1/lib/redis/client.rb:279:in `with_reconnect'
from /Users/ricardonacif/.rbenv/versions/1.9.3-p551/lib/ruby/gems/1.9.1/gems/redis-3.2.1/lib/redis/client.rb:93:in `connect'
from /Users/ricardonacif/.rbenv/versions/1.9.3-p551/lib/ruby/gems/1.9.1/gems/redis-3.2.1/lib/redis/client.rb:350:in `ensure_connected'
from /Users/ricardonacif/.rbenv/versions/1.9.3-p551/lib/ruby/gems/1.9.1/gems/redis-3.2.1/lib/redis/client.rb:207:in `block in process'
from /Users/ricardonacif/.rbenv/versions/1.9.3-p551/lib/ruby/gems/1.9.1/gems/redis-3.2.1/lib/redis/client.rb:292:in `logging'
from /Users/ricardonacif/.rbenv/versions/1.9.3-p551/lib/ruby/gems/1.9.1/gems/redis-3.2.1/lib/redis/client.rb:206:in `process'
from /Users/ricardonacif/.rbenv/versions/1.9.3-p551/lib/ruby/gems/1.9.1/gems/redis-3.2.1/lib/redis/client.rb:112:in `call'
from /Users/ricardonacif/.rbenv/versions/1.9.3-p551/lib/ruby/gems/1.9.1/gems/redis-3.2.1/lib/redis.rb:1901:in `block in hget'
from /Users/ricardonacif/.rbenv/versions/1.9.3-p551/lib/ruby/gems/1.9.1/gems/redis-3.2.1/lib/redis.rb:37:in `block in synchronize'
from /Users/ricardonacif/.rbenv/versions/1.9.3-p551/lib/ruby/1.9.1/monitor.rb:211:in `mon_synchronize'
from /Users/ricardonacif/.rbenv/versions/1.9.3-p551/lib/ruby/gems/1.9.1/gems/redis-3.2.1/lib/redis.rb:37:in `synchronize'
from /Users/ricardonacif/.rbenv/versions/1.9.3-p551/lib/ruby/gems/1.9.1/gems/redis-3.2.1/lib/redis.rb:1900:in `hget'
from /Users/ricardonacif/.rbenv/versions/1.9.3-p551/lib/ruby/gems/1.9.1/gems/websocket-rails-0.7.0/lib/websocket_rails/synchronization.rb:166:in `block in find_user'
This happens both in production and development. Any special reason?
About this issue
- Original URL
- State: open
- Created 9 years ago
- Comments: 16 (3 by maintainers)
@Ricardonacif, yes it’s not a dependency but forcing to use Redis 3.2.0 solves the problem. Thank you @bmxpert1 and @paulstraw!
I’m seeing the same issue, and forcing redis-rb 3.2.0 fixes it for me as well.
I’m having similar issues and have been getting around it by forcing the use of redis-rb version 3.2.0