在Heroku上发布Faye Ruby服务器端-检测到EventMachine缓冲区溢出

在Heroku上发布Faye Ruby服务器端-检测到EventMachine缓冲区溢出,heroku,websocket,out-of-memory,publish-subscribe,faye,Heroku,Websocket,Out Of Memory,Publish Subscribe,Faye,我在heroku worker(使用sidekiq-5线程)上有一个FayeRuby客户端,它发布到运行在linode上的faye服务器 工作进程在几分钟后崩溃,检测到缓冲区溢出消息 *代码 我尝试了以下方法: 1) EM.epoll在EM.run之前 2) EM.stop\u event\u循环在相应的回调中 我知道文件描述符限制导致了这个问题 问题: 如何释放客户端并停止EM事件循环以完全释放打开的文件 是因为sidekiq在线程模式下运行吗?好的,我意识到了这个错误 我在EM.run块之外

我在heroku worker(使用sidekiq-5线程)上有一个FayeRuby客户端,它发布到运行在linode上的faye服务器

工作进程在几分钟后崩溃,检测到缓冲区溢出消息

*代码

我尝试了以下方法: 1) EM.epoll在EM.run之前 2) EM.stop\u event\u循环在相应的回调中

我知道文件描述符限制导致了这个问题

问题: 如何释放客户端并停止EM事件循环以完全释放打开的文件


是因为sidekiq在线程模式下运行吗?

好的,我意识到了这个错误


我在EM.run块之外创建客户机。一旦我将初始化移到EM.run块中,一切正常。

好的,我意识到了错误

我在EM.run块之外创建客户机。一旦我将初始化移到EM.run块中,一切都正常工作

  EM.epoll

  EM.run {
    publication = @client.publish('/glive-bullion','body'=>body)

    publication.callback do
      EM.stop_event_loop
    end

    publication.errback do |error|
      puts 'There was a problem: ' + error.message
      EM.stop_event_loop
    end

  }