這是我正在嘗試做的事情:查找是否有人推特提供了特定的課程。如果有人確實發了推文,我想將該推文保存到我的Tweet模型中,然後在相應的課程頁面中顯示該推文。如何在heroku中運行「Rails Runner」?
這些腳本通過運行rails runner get_tweets.rb
在本地工作,但在Heroku上似乎腳本被執行但不寫入數據庫。在heroku中,我正在運行heroku run rails runner get_tweets.rb
(使用Cedar堆棧)。
def get_course_tweets
@courses = Course.all
@courses.each do |course|
url = course.url
tweets = Twitter.search(url, {:rpp => 100, :recent => true, :show_user => true})
tweets.each do |tweet_info|
unless Tweet.find_by_tweet_id(tweet_info.id).present?
tweet = Tweet.new
tweet.course_id = course.id
tweet.tweet_id = tweet_info.id
tweet.tweet_text = tweet_info.text
tweet.from_user = tweet_info.from_user
begin
tweet.save!
rescue => error
puts error
end
end
end
end
end
編輯:
的當前錯誤,我從救助獲得如下:
PG::Error: ERROR: value "186306985577299969" is out of range for type integer : INSERT INTO "tweets" ("book_id", "course_id", "created_at", "from_user", "tutorial_id", "tweet_already_exists", "tweet_id", "tweet_posted_to_reviews", "tweet_text", "updated_at") VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10) RETURNING "id"
也許你應該真的打印出錯誤,如果它'救援',看看是否有任何發生? – 2012-04-07 17:22:36
嗨安德魯,這裏是我得到的錯誤:PG ::錯誤:錯誤:值「186306985577299969」超出範圍類型整數 :INSERT INTO「tweets」(「book_id」,「course_id」,「created_at」,「 from_user「,」tutorial_id「,」tweet_already_exists「,」tweet_id「,」tweet_posted_to_reviews「,」tweet_text「,」updated_at「)VALUES($ 1,$ 2,$ 3,$ 4,$ 5,$ 6,$ 7,$ 8,$ 9,$ 10) 「id」 – 2012-04-07 17:56:03