データベースにサードパーティ API からのデータを入力する 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)
私は Rails の経験があまりないので、サードパーティの API から正しい方法でデータを取得しているのか、それとも Heroku が私がやっていることを気に入らないだけなのかわかりません。現時点では、私はただ困惑しています。