在Heroku上使用open-uri运行rake任务会导致Connection Refused错误

时间:2012-06-04 02:51:33

标签: ruby-on-rails heroku open-uri

我写了一个rake任务,用来自第三方API的数据填充我的数据库。

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实例上运行它会导致此错误:

耙子流产了! 连接被拒绝 - 连接(2)

我会承认我对Rails不太熟悉,所以我不确定我是否以正确的方式从第三方API获取数据,或者如果Heroku不喜欢我的内容这样做。我现在只是难过了。

1 个答案:

答案 0 :(得分:0)

原来第三方API阻止了来自Heroku的任何请求。

我通过使用以下命令将本地数据库推送到Heroku的数据库来解决这个问题:

heroku db:push