У меня есть класс рубин, в котором я делаю Net :: HTTP.start звонок по выполнить method.This это код:рубин Net :: HTTP.start давая соединение отказался
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
Теперь я получаю эта ошибка:
Соединение отклонено - подключение (2) для ":: 1" порта 8081
Когда я епдиеее это в resque
из другого класса, используя следующую строку:
Resque.enqueue_in_with_queue(:data_workflow_manager,10,Poller,args)
Однако HTTP.start отлично без ошибок работает, когда выполнить метод вызывается в некоторых еще один класс с помощью:
Poller.perform(args)
Пожалуйста, помогите мне понять, почему это происходит?
Сервер работает нормально. Я пробовал использовать тот же url.And, я могу ударить, используя прямой вызов. – user3165873
Чтобы быть ясным, проблема в том, что вы используете его прямо или когда используете его с помощью Resque? Формулировка вашего вопроса для меня была непонятна. – BookOfGreg
Проблема в том, что я использую его с помощью Resque. – user3165873