我对 eventmachine 很陌生,我无法在网上找到这个问题的答案。
现在我一直在使用带有 eventmachine 的 em-mongo,并且我基本上在文档和它们各自的对象之间编写了一个穷人的映射器。我只是想确认 mongoid 和 mongomapper 不能在 eventmachine 环境中使用,因为它们是阻塞的,因此首先破坏了使用 eventmachine 的点,而且我没有浪费时间编写这些映射器。:P
我对 eventmachine 很陌生,我无法在网上找到这个问题的答案。
现在我一直在使用带有 eventmachine 的 em-mongo,并且我基本上在文档和它们各自的对象之间编写了一个穷人的映射器。我只是想确认 mongoid 和 mongomapper 不能在 eventmachine 环境中使用,因为它们是阻塞的,因此首先破坏了使用 eventmachine 的点,而且我没有浪费时间编写这些映射器。:P
EventMachine 同步可能是您想要的:
https://github.com/igrigorik/em-synchrony
它支持 Mongoid,我猜它是线程安全的。没有亲自尝试过,但它看起来很有希望通过积极的开发。
快速浏览一下 mongoid 和 mongo_mapper 源代码,您是正确的。我的方法是克隆 mongoid(或 mongomapper)并用异步连接交换阻塞的 http 连接。大多数框架细节与异步 http 连接无关,应该是可重用的。祝你好运!