我希望利用 Sinatra 为内部项目构建一个简单的 RESTful 通知系统。我过去曾使用 EventMachine channel 来订阅/发布事件,但在之前的所有案例中,我都是直接使用 EventMachine。
有谁知道是否可以从 Sinatra 应用程序甚至从某些 Rack 中间件创建、订阅和发布到 EventMachine channel (在 Thin 中运行)?
最佳答案
看看async_sinatra .
基本上,为了在 Thin 中运行时能够使用 EventMachine,您需要让它知道您想要异步处理请求。 Rack 协议(protocol)在设计上是同步的,Thin 期望在处理程序返回时完成请求。有多种方法可以让 Thin 知道您想要异步处理请求(有关示例,请参阅 think_async),以及 async_sinatra使这变得非常容易。
关于ruby - 是否可以从 Thin/Rack/Sinatra 访问 Ruby EventMachine channel ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5756609/