class Apollo::Scheduler::BaseScheduler

Public Class Methods

schedule(url, crawler=nil, opts={}) click to toggle source
# File lib/apollo_crawler/scheduler/base_scheduler.rb, line 29
def self.schedule(url, crawler=nil, opts={})
        queued_url = Apollo::Model::QueuedUrl.where(:url => url).first

        if queued_url.nil? == false
                return queued_url
        end

        uri = URI.parse(url)
        domain = Apollo::Model::Domain.where(:name => uri.hostname).first
        if(domain.nil?)
                domain = Apollo::Model::Domain.new(:name => uri.hostname)
                domain.save
        end
                
        res = Apollo::Model::QueuedUrl.new(:url => url, :state => :queued, :crawler_name => crawler.to_s)
        res.save
        return res                          
end