2013-05-29 38 views
5

Tôi đang sử dụng heroku để lưu trữ một ứng dụng ruby ​​trên đường ray hỗ trợ ứng dụng iOS. Tôi có một yêu cầu có thể chạy lâu và tôi cần để có thể nắm bắt thời gian chờ trước khi yêu cầu của tôi bị giết. Tôi đang sử dụng Timeout :: timeout (15) để ném một lỗi và xử lý nó một cách thích hợp. Điều này hoạt động tốt trên địa phương của tôi và tôi có thể thấy lỗi được ném và đăng nhập. Khi tôi chạy cùng một mã trên heroku không có lỗi được ghi lại. Tôi đã có cùng một vấn đề khi cố gắng sử dụng đá quý thời gian chờ rack.Heroku Timeout :: timeout không ném một lỗi

Có ai khác đang gặp sự cố khi nhận thời gian chờ chạy trên Heroku không? Tôi đang ở trên tuyết tùng.

+0

vâng tôi gặp vấn đề tương tự, rất khó chịu! – andy

Trả lời

4
# 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" 

này hoạt động tốt trên Heroku: http://young-gorge-7585.herokuapp.com