EventMachine和Rails如何集成?

nee*_*zer 29 ruby-on-rails eventmachine

我发现很多文章向我展示了EventMachine是什么以及如何建立无尽的"Hello World!" 例子,但我仍然不知道如何与我的Rails应用程序集成.

作为一个例子,我有一个现有的Rails应用程序,它有许多并发用户可能同时在我的数据库中编辑同一行.我想我会允许两个(或更多)不同的人加载记录,但是如果记录被更新则通知这些用户并强制后者用户在将任何冲突的更改保存回数据库之前进行协调.我以为我可以使用客户端上的Javascript和websockets(或flashsockets)来处理通知和对帐,以便与浏览器进行通信(在另一个用户更新记录的事件上 - 如推送通知等).

最后一部分让我进入EventMachine,但是 - 正如我的引导问题所示 - 我对如何将其集成到我的Rails应用程序中感到茫然.

任何人都可以给我一些洞察力(比如,一个好的宏观层面观点)或指向一些好的资源吗?(除了EventMachine的维基,因为我已经去过那里).

Jos*_*hua 16

我花了相当多的时间研究这个问题.EventMachine需要在rails安装中作为线程运行(除非您使用的是Thin),并且对Passenger有一些特殊注意事项.我在这里写了我们的实现:http://www.hiringthing.com/2011/11/04/eventmachine-with-rails.html


Dan*_*ara 5

我认为这个异步Rails设置的例子也可以帮助您调查EventMachine,就像在应用程序中使用功能一样.但它与EventMachine本身并不完全相关.