首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >设置rails请求超时(执行过期)

设置rails请求超时(执行过期)
EN

Stack Overflow用户
提问于 2010-04-06 07:01:01
回答 2查看 18.3K关注 0票数 10

这应该很容易,但谷歌没有帮助:无法找到让rails在请求到期前等待更长时间的方法

ActionView::Template::Error (执行过期)

代码语言:javascript
运行
复制
=> Booting Thin
=> Rails 3.2.3 application starting in development on http://0.0.0.0:3000
=> Call with -d to detach
=> Ctrl-C to shutdown server
EN

回答 2

Stack Overflow用户

发布于 2018-11-14 14:20:12

首先,使用gem list查看您的rack_timeout版本。

如果使用的是rack_timeout <= 0.4,那么请使用

代码语言:javascript
运行
复制
Rack::Timeout.timeout = 30 # seconds inside the config/initializers/timeout.rb

如果使用的是rack_timeout >= 0.5,则使用以下环境变量。

代码语言:javascript
运行
复制
service_timeout:   15     # RACK_TIMEOUT_SERVICE_TIMEOUT
wait_timeout:      30     # RACK_TIMEOUT_WAIT_TIMEOUT
wait_overtime:     60     # RACK_TIMEOUT_WAIT_OVERTIME
service_past_wait: false  # RACK_TIMEOUT_SERVICE_PAST_WAIT

在rails中,可以在.env文件中加载环境变量:

代码语言:javascript
运行
复制
gem 'dotenv-rails'

在您的配置/环境/Development.rb(或其他)中执行以下操作:

代码语言:javascript
运行
复制
Dotenv::Railtie.load

然后,在rails项目的根目录中,您的.env如下所示:

代码语言:javascript
运行
复制
RACK_TIMEOUT_SERVICE_TIMEOUT=15
RACK_TIMEOUT_WAIT_TIMEOUT=30
RACK_TIMEOUT_WAIT_OVERTIME=60
RACK_TIMEOUT_SERVICE_PAST_WAIT=false
票数 6
EN

Stack Overflow用户

发布于 2013-04-16 09:03:54

如果您正在使用gem "rack-timeout",那么在config/initializers/timeout.rb文件中更改Rack::Timeout.timeout = 30 # seconds或更多内容。有关更多细节,请使用此链接

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

https://stackoverflow.com/questions/2583166

复制
相关文章

相似问题

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