推手 ruby 图书馆 - HttpClient::KeepAliveDisconnected

Pusher ruby library - HttpClient::KeepAliveDisconnected

我有一个触发事件的 sidekiq 作业。我将 pusher-http-ruby 安装到 Rails 上。我正在向本地主机上的 Slanger 发送请求。在测试期间,使用 pusher-fake,Webmock 很高兴请求被发送。然而,在开发中(大概在生产中,不是我部署的)我得到...

HTTPClient::KeepAliveDisconnected:
snip/gems/httpclient-2.8.3/lib/httpclient/session.rb:808:in `block in parse_header'"
snip/gems/httpclient-2.8.3/lib/httpclient/session.rb:808:in `block in parse_header'",
snip/ruby/2.2.0/timeout.rb:88:in `block in timeout'",
snip/ruby/2.2.0/timeout.rb:98:in `call'",
snip/ruby/2.2.0/timeout.rb:98:in `timeout'",
snip/gems/httpclient-2.8.3/lib/httpclient/session.rb:801:in `parse_header'",
snip/gems/httpclient-2.8.3/lib/httpclient/session.rb:784:in `read_header'",
snip/gems/httpclient-2.8.3/lib/httpclient/session.rb:561:in `get_header'",
snip/gems/httpclient-2.8.3/lib/httpclient.rb:1299:in `do_get_header'",
snip/gems/httpclient-2.8.3/lib/httpclient.rb:1245:in `do_get_block'",
snip/gems/httpclient-2.8.3/lib/httpclient.rb:1019:in `block in do_request'",
snip/gems/httpclient-2.8.3/lib/httpclient.rb:1138:in `rescue in protect_keep_alive_disconnected'",
snip/gems/httpclient-2.8.3/lib/httpclient.rb:1132:in `protect_keep_alive_disconnected'",
snip/gems/httpclient-2.8.3/lib/httpclient.rb:1014:in `do_request'",
snip/gems/httpclient-2.8.3/lib/httpclient.rb:856:in `request'",
snip/gems/pusher-1.3.0/lib/pusher/request.rb:30:in `send_sync'",
snip/gems/pusher-1.3.0/lib/pusher/resource.rb:18:in `post'",
snip/gems/pusher-1.3.0/lib/pusher/client.rb:177:in `post'",
snip/gems/pusher-1.3.0/lib/pusher/client.rb:277:in `trigger'"

我在 Sidekiq 内外都试过了,结果都一样。它永远不会到达斯兰格 - 只是在 rails 中死去而没有离开。谁能解释一下这是怎么回事?

原来我正在向 websocket 发送请求。我将推送器端口设置为 websocket 的端口,而不是 API 服务器的端口。哎呀。已排序!