我发现很多文章向我展示了EventMachine是什么以及如何建立无尽的“Hello World!”例子,但我仍然不知道如何与我的Rails应用程序集成。
作为一个例子,我有一个现有的Rails应用程序,它有许多并发用户可能同时在我的数据库中编辑同一行。我想我会允许两个(或更多)不同的人加载记录,但是如果记录被更新则通知那些用户并强制后面的用户在将其保存回数据库之前协调任何冲突的更改。我以为我可以使用客户端上的Javascript和websockets(或flashsockets)来处理通知和对帐,以便与浏览器进行通信(在另一个用户更新记录的事件上 - 如推送通知等)。
最后一部分让我进入了EventMachine,但是 - 正如我的引导问题所示 - 我对如何将其集成到我的Rails应用程序中感到茫然。
任何人都可以给我一些洞察力(比如,一个好的宏观层面观点)或指向一些好的资源吗? (除EventMachine's wiki之外,我已经去过那里了。)
答案 0 :(得分:16)
我花了相当多的时间研究这个问题。 EventMachine需要在rails安装中作为线程运行(除非您使用的是Thin),并且对Passenger有一些特殊注意事项。我在这里写了我们的实现:http://www.hiringthing.com/2011/11/04/eventmachine-with-rails.html
答案 1 :(得分:5)
我认为某些异步Rails设置的this example也可以帮助您调查EventMachine,就像应用程序中的功能使用一样。但它与EventMachine本身并不完全相关。