0
我正在抓取rake任務中的網站。我的基本格式是這樣的:如何在Rake任務中的後臺運行函數?
namespace :crawler do
desc "TODO"
task crawl :environment do
Crawler.crawl!
end
class Crawler
require 'rubygems'
require 'mechanize'
def self.scrape_page!
end
def self.start_scrape!(link)
# get html. prepare to scrape
end
def self.crawl!
# crawl links and scrape pages
self.delay.start_scrape(link)
end
end
end
我想要異步鏈接鏈接。我看着delayed_jobs gem,看到你可以在對象上使用延遲方法,但是當我使用延遲時,我沒有從刮板輸出。
在正確的方向一點點將非常感謝! :)
使用可以使用簡單的叉/ EXEC對並行運行的任務。它有效,但不是那麼美觀=),你是如何使用'delayed_jobs'寶石的? – 2014-12-11 04:16:45
我剛剛添加'delayed_jobs'和後端gem到我的Gemfile,然後'bundle install && rails生成delayed_job:active_record && rake db:migrate' – 2014-12-11 04:24:04
然後'Delayed :: Job.enqueue Processor.new ...'是? – 2014-12-11 04:55:32