乘客中的重复事件,在 websocket-rails 中
Posted
技术标签:
【中文标题】乘客中的重复事件,在 websocket-rails 中【英文标题】:Duplicate events in passenger, in websocket-rails 【发布时间】:2014-01-31 13:54:58 【问题描述】:我正在使用 phusion 乘客版本 4.0.35
我的 websocket_rails.rb 文件
WebsocketRails.setup do |config|
config.log_level = :debug
config.log_internal_events = false
if Rails.env.production?
config.standalone = true
else
config.standalone = false
end
config.synchronize = false
end
在我使用的普通控制器中
connection1 = WebsocketRails.users[one_user_id]
connection1.send_message :online, @reply.to_json(:methods => required_methods)
connection2 = WebsocketRails.users[another_other_user_id]
connection2.send_message :online, @reply.to_json(:methods => required_methods)
在客户端
var socket_path = document.domain + ":3001" + '/websocket'
var dispatcher = new WebSocketRails(socket_path)
dispatcher.bind('online', function(data)
.................
..................................
问题是我在控制器上调用 send_message 时收到两次响应,两个用户都收到两次响应。
另一件事是它在以瘦服务器模式运行的普通服务器模式下的开发效果很好。
【问题讨论】:
【参考方案1】:请你使用 .deliver 功能
Actionmailer not delivering mail, with rails 3这会帮助你,让我知道
【讨论】:
问题根本与 ActionMailer 无关。 是的,这个问题是关于 actionmailer 的。它与实时推送通知系统有关,而在我的情况下,客户端从服务器接收 json 响应。以上是关于乘客中的重复事件,在 websocket-rails 中的主要内容,如果未能解决你的问题,请参考以下文章
为啥 websocket-rails 需要作为独立服务器启动以支持基于非事件机的 Web 服务器?
Rails 4 + Websocket-rails + Passenger + Nginx + 负载均衡器