2012-06-04 2 views
0

제 데이터베이스를 타사 API의 데이터로 채우는 레이크 작업을 작성했습니다.Heroku에서 open-uri를 사용하여 rake 태스크를 실행하면 연결이 거부되었습니다.

namespace :populate do 
desc "Populate database with data from first page of TicketWeb API" 
task :one_page => :environment do 
    require 'open-uri' 
    json_data = open(SOME_URL).read 
    parsed_json = JSON.parse(json_data) 
    parsed_json["events"].each do |e| 
     existing_event = Event.find_by_id(e["eventid"]) 
     if existing_event == nil 
      new_event = Event.new(e) 
      new_event.save 
     else 
      existing_event.update_attributes(e) 
     end 
    end 
end 

내 컴퓨터에서 로컬로 실행되는 경우가 완벽하게 작동

끝. 그러나 Heroku 인스턴스에서 실행하면이 오류가 발생합니다.

레이크 중단되었습니다! 연결이 거부되었습니다. - connect (2)

필자는 레일스에 익숙하지 않다는 것을 인정합니다. 올바른 방법으로 제 3 자 API에서 데이터를 가져오고 있는지, 아니면 Heroku 그냥 내가하는 일을 좋아하지 않아. 나는 지금 당황하다.

답변

0

제 3 자 API가 Heroku에서 오는 요청을 차단하고있는 것으로 나타났습니다.

heroku db:push 
:

나는이 명령 Heroku가 데이터베이스에 내 로컬 데이터베이스를 눌러이 문제를 가지고