首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Goliath进行异步web处理

使用Goliath进行异步web处理
EN

Stack Overflow用户
提问于 2012-03-22 03:49:56
回答 1查看 528关注 0票数 2

我需要一个简单的网络服务器,解析它收到的网址,调用一些其他的ruby脚本做一些繁重的处理,然后返回结果JSON。

Goliath适合做这个吗?据我所知,这些请求是按顺序处理的。我应该怎么做才能让它变得正确呢?

代码语言:javascript
复制
class MyServer < Goliath::API
  def response(env)
    res = create_json_response(env["REQUEST_URI"])
    [200, {}, res]
  end
end
EN

回答 1

Stack Overflow用户

发布于 2012-03-27 14:47:10

看一下"echo“示例,以获得更完整的示例:https://github.com/postrank-labs/goliath/blob/master/examples/echo.rb

Goliath故意让你构建你的堆栈,并试图在默认情况下假设很少-这给了你优化堆栈的灵活性,但代价是一些前期设置。

这些请求是“顺序”处理的,从某种意义上说,它们是由一个事件循环提供服务的。如果你在IO上被阻塞,goliath将开始处理下一个请求。但是,如果你决定在一段时间内进行CPU密集型计算,那么你就会阻塞反应堆。换句话说,这与任何其他“事件”框架(节点等)的行为完全相同。

如果您确实需要执行一些繁重的CPU处理,那么您应该将这些工作转到一个工作队列或专用的工作进程。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9811812

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档