Ruby on rails Heroku Timeout::超时未引发错误
我正在使用heroku托管一个支持iOS应用程序的ruby on rails应用程序。我有一个可能运行很长时间的请求,我需要能够在我的请求被终止之前捕获超时。我使用Timeout::Timeout(15)抛出一个错误并适当地处理它。这在我的本地服务器上运行良好,我可以看到抛出并记录错误。当我在heroku上运行相同的代码时,不会记录任何错误。我在尝试使用rack timeout gem时遇到了同样的问题 还有人在Heroku上运行超时时遇到问题吗?我在雪松上。Ruby on rails Heroku Timeout::超时未引发错误,ruby-on-rails,heroku,Ruby On Rails,Heroku,我正在使用heroku托管一个支持iOS应用程序的ruby on rails应用程序。我有一个可能运行很长时间的请求,我需要能够在我的请求被终止之前捕获超时。我使用Timeout::Timeout(15)抛出一个错误并适当地处理它。这在我的本地服务器上运行良好,我可以看到抛出并记录错误。当我在heroku上运行相同的代码时,不会记录任何错误。我在尝试使用rack timeout gem时遇到了同样的问题 还有人在Heroku上运行超时时遇到问题吗?我在雪松上。#app/controllers/i
#app/controllers/index_controller.rb
# app/controllers/index_controller.rb
require 'timeout'
Class IndexController < ApplicationController
def timeout
begin
status = Timeout::timeout(5) {
sleep(6)
render :text => "will never be rendered"
rescue Timeout::Error
render :text => "timeout handled"
end
end
end
end
# config/routes.rb
match '/timeout' => "index#timeout"
需要“超时”
类索引控制器<应用程序控制器
def超时
开始
状态=超时::超时(5){
睡眠(6)
render:text=>“将永远不会被渲染”
救援超时::错误
呈现:text=>“已处理超时”
结束
结束
结束
结束
#config/routes.rb
匹配“/timeout”=>“索引#超时”
这在heroku上运行得很好:看看Rack::Timeout的用法,它就是为此而设计的
是的,我遇到了完全相同的问题,非常烦人!我看到您有一个开放块
{
,但没有关闭?