首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Celluloid::TimeoutError:链接超时5秒

Celluloid::TimeoutError:链接超时5秒
EN

Stack Overflow用户
提问于 2014-12-15 00:57:49
回答 1查看 361关注 0票数 0

我正在使用Jruby 1.7.12和Celluloid (0.16.0)。我的应用程序使用池并在循环中生成参与者

代码语言:javascript
复制
require 'kaiwa'
Kaiwa::Launcher.run
Celluloid.logger = Kaiwa::Logger.logger

class KaiwaTest
  include Celluloid
  Celluloid::LINKING_TIMEOUT = 5

  def initialize
  end

  def create_kaiwa_users(handle)
    Kaiwa::Manager.create_user(handle)
  end

 def send_kaiwa_messages(to_handle, from_handle, message)
   Kaiwa::Manager.send_message(to_handle, from_handle, message)
 end
end

kt = KaiwaTest.pool(size: 4)

(0..1_00_000).to_a.each do |index|
  kaiwa_test_pool.async.create_kaiwa_users("user_#{index}") 
 end

在我的库中,每个用户都是一个参与者,它链接到管理器,这也是一个参与者。我已经尝试完全消除链接,但问题仍然存在。一旦我创建了超过30个用户角色,我的系统就会挂起。

似乎讨论了一些类似的超时错误,并提到了JRuby问题,但没有特别涉及链接超时问题。我不知道是什么导致了这个问题。

提前谢谢。

整个代码库可以在https://github.com/supersid/kaiwa上找到

如果能得到任何帮助我会很感激的。

EN

回答 1

Stack Overflow用户

发布于 2015-06-16 21:48:00

有趣的项目( XMPP +Celluloid +jRuby )

我假设kaiwa_test_pool应该是kt

我想用0.17.0试一试

这里不需要Pool。你只需要一个专门的Supervision::Container

您需要做的是使用Kaiwa::Manager.supervise as: :manager实例化管理器

然后为你的用户角色实例化一个监督容器。

不确定为什么要创建0..1_00_000用户?

无论哪种方式,都不需要Pool,请使用0.17.0并使用普通的监督容器。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27471660

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档