首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >告诉Merb不要超时

告诉Merb不要超时
EN

Stack Overflow用户
提问于 2010-02-10 20:57:27
回答 1查看 90关注 0票数 0

在发布了一个与nginx相关的问题后,我的调查又深入了一点:问题是,merb框架在大约30秒后超时。如果我告诉底层的nginx-server不要超时,merb就会超时,而我找不到一种方法来告诉它不要超时;我需要做一些耗时几分钟的请求。

有什么提示吗?非常感谢。

-更新--

似乎是merb后面的混血儿导致了这个错误。有没有办法改变merb的mongrel-timeout?

EN

回答 1

Stack Overflow用户

发布于 2010-02-10 21:06:15

也许一种不同的方法会产生更好的结果-而不是解决超时,如何通过推迟任务的执行来最大化吞吐量?

对于长时间运行的任务,一些方法是使用run_laterexec单独的工作进程来完成任务...

代码语言:javascript
复制
def run_in_background(r)
    Thread.new do
        response = IO.popen(r) do |f|
            f.read
        end
    end
end

在这两种情况下,您都应该返回URL202 (Accepted)作为状态代码,并返回一个,调用应用程序可以在其中获得状态更新。

我使用这种方法来处理导致后台批处理进程执行的请求。每个都将其开始时间、进度和完成时间写入一个数据库(您可以很容易地使用一个文件)。当URL被调用时,我从数据库获取进度,并将其提供回调用进程。

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

https://stackoverflow.com/questions/2236878

复制
相关文章

相似问题

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