Gem Faye 的问题

leopku · 2013年05月21日 · 最后由 debbbbie 回复于 2013年11月25日 · 4141 次阅读

对于 faye 报!! Unexpected error while processing request: deadlock; recursive locking 的问题,网上一般的解决方案都是 config.threadsafe!

但是我这设置 config.threadsafe! 后又会引起 rake db:seed 异常的问题。 另外,我看 ruby-china 的源代码中也未设置 config.threadsafe!

请教 @huacnlee 以及熟悉 faye 的大牛,faye 除了 config.threadsafe! 还有其它方案吗?ruby-china 用的又是哪种方案?

谢了先。

Ruby China 用的是独立端口 把 Faye 放在了 8080 上 主要是要开启多线程模式 才能在 Rack 里面加进去 Faye config.threadsafe! 影响了 4 个参数

@preload_frameworks = true
@cache_classes = true
@dependency_loading = false
@allow_concurrency  = true

试试只开启 config.allow_concurrency 能不能跑起来 如果正常的话 采用多进程单线程的方式运行多个服务 这样是安全的 多进程多线程的话 不是线程安全的 只能是config.threadsafe!

#1 楼 @zj0713001 多谢小内

不过我看了 ruby-china 相关代码,production.rb 里 threadsafe! 是被注释掉的 难道 ruby-china 在实际部署的时候打开了?

@huacnlee @lgn21st 解惑

#2 楼 @leopku ruby-china 的 Faye 是单独部署的

#4 楼 @leopku 松锅你不信我 我都说了是独立端口部署的😭 gem 'faye-rails' 不错 可以用

#5 楼 @zj0713001 刚刚又看了一遍你的帖子,才反应过来 😙

需要 登录 后方可回复, 如果你还没有账号请 注册新账号