【发布时间】:2018-12-05 22:18:45
【问题描述】:
我有一个 ruby 类,我在其中进行 Net::HTTP.start 在 perform 方法中调用。这是代码:
class Poller
def self.perform(args)
uri = URI('http://localhost:8081/adhoc/dummy_poll?noAuth=true')
begin
Net::HTTP.start(uri.host, uri.port, :read_timeout=>30) do |http|
request = Net::HTTP::Get.new uri
@response = http.request request
@responsecode = @response.code
end
rescue Exception => e
Rails.logger.error "error mess==>"+e.message()
@responsecode = "408"
end
当我在 resque 中使用此行从另一个类中将其排入队列时:
Resque.enqueue_in_with_queue(:data_workflow_manager,10,Poller,args)
我收到此错误:
连接被拒绝 - “::1” 端口 8081 的连接 (2)。
但是,当使用以下方法在另一个类中调用 perform 方法时,HTTP.start 可以正常工作,没有任何错误:
Poller.perform(args)
请帮助我理解,为什么会这样?
【问题讨论】:
标签: ruby-on-rails ruby resque