我需要填充一次Heroku
数据库,并使用Nokogiri
从外部网站抓取初始数据。完成初始人口任务后,数据库将通过sidekiq
+ sidekiq-cron
的定期作业进行更新。
是否可以在远程应用程序环境中使用rake任务来提供数据库?
我的rake任务将从外部网站获取名称和其他属性,并将它们写入数据库,如下例所示:
lib/tasks/feed.rake
desc "Fetch data and feed the database"
task :feed_database => :environment do
require 'nokogiri'
require 'open-uri'
range = (1..100)
url = "http://www.example.com"
doc = Nokogiri::HTML(open(url))
range.each do |num|
name = doc.at_css("tr:nth-child(#{num})).text
Model.create(name: name)
end
end
从我的远程控制台,我将使用以下命令:
$ heroku run rake feed_database
或以下命令:
$ heroku run console
$ rake feed_database
然而Heroku
fontconfig
处有关于rake任务的little documentation,并且似乎没有很好地解释使用rake命令的限制。