2011-04-22 14 views
2

當我跑我的發條我得到這個錯誤:Rails的幫助發條錯誤:異常NameError - >未初始化的常量延遲::工作

C:\Rails\konkurranceportalen>bundle exec clockwork lib/clock.rb 
Starting clock for 1 events: [ statistik ] 
Triggering statistik 
Exception NameError -> uninitialized constant Delayed::Job 
    lib/clock.rb:6:in `block in <top (required)>' 
    C:/Ruby192/lib/ruby/gems/1.9.1/gems/clockwork-0.2.3/lib/clockwork.rb:27:in `c 
all' 
    C:/Ruby192/lib/ruby/gems/1.9.1/gems/clockwork-0.2.3/lib/clockwork.rb:27:in `r 
un' 
    C:/Ruby192/lib/ruby/gems/1.9.1/gems/clockwork-0.2.3/lib/clockwork.rb:96:in `b 
lock in tick' 
    C:/Ruby192/lib/ruby/gems/1.9.1/gems/clockwork-0.2.3/lib/clockwork.rb:94:in `e 
ach' 
    C:/Ruby192/lib/ruby/gems/1.9.1/gems/clockwork-0.2.3/lib/clockwork.rb:94:in `t 
ick' 
    C:/Ruby192/lib/ruby/gems/1.9.1/gems/clockwork-0.2.3/lib/clockwork.rb:80:in `b 
lock in run' 
    C:/Ruby192/lib/ruby/gems/1.9.1/gems/clockwork-0.2.3/lib/clockwork.rb:79:in `l 
oop' 
    C:/Ruby192/lib/ruby/gems/1.9.1/gems/clockwork-0.2.3/lib/clockwork.rb:79:in `r 
un' 
    C:/Ruby192/lib/ruby/gems/1.9.1/gems/clockwork-0.2.3/bin/clockwork:20:in `<top 
(required)>' 
    C:/Ruby192/lib/ruby/gems/1.9.1/bin/clockwork:19:in `load' 
    C:/Ruby192/lib/ruby/gems/1.9.1/bin/clockwork:19:in `<main>' 

我clock.rb在lib文件夾:

require 'rubygems' 
require 'clockwork' 
include Clockwork 

every(2.minutes, 'statistik') { Delayed::Job.enqueue(Scraper.new) } 

我已經改變了我clock.rb到:

require 'clockwork' 
require 'delayed_job' 
include Clockwork 

every(2.minutes, 'statistik') { Delayed::Job.enqueue(Scraper.new) 

然後我得到這個錯誤:

C:\Rails\konkurranceportalen>bundle exec clockwork lib/clock.rb 
Starting clock for 1 events: [ statistik ] 
Triggering statistik 
Exception NameError -> uninitialized constant Delayed::Job 
    lib/clock.rb:5:in `block in <top (required)>' 
    C:/Ruby192/lib/ruby/gems/1.9.1/gems/clockwork-0.2.3/lib/clockwork.rb:27:in `c 
all' 
    C:/Ruby192/lib/ruby/gems/1.9.1/gems/clockwork-0.2.3/lib/clockwork.rb:27:in `r 
un' 
    C:/Ruby192/lib/ruby/gems/1.9.1/gems/clockwork-0.2.3/lib/clockwork.rb:96:in `b 
lock in tick' 
    C:/Ruby192/lib/ruby/gems/1.9.1/gems/clockwork-0.2.3/lib/clockwork.rb:94:in `e 
ach' 
    C:/Ruby192/lib/ruby/gems/1.9.1/gems/clockwork-0.2.3/lib/clockwork.rb:94:in `t 
ick' 
    C:/Ruby192/lib/ruby/gems/1.9.1/gems/clockwork-0.2.3/lib/clockwork.rb:80:in `b 
lock in run' 
    C:/Ruby192/lib/ruby/gems/1.9.1/gems/clockwork-0.2.3/lib/clockwork.rb:79:in `l 
oop' 
    C:/Ruby192/lib/ruby/gems/1.9.1/gems/clockwork-0.2.3/lib/clockwork.rb:79:in `r 
un' 
    C:/Ruby192/lib/ruby/gems/1.9.1/gems/clockwork-0.2.3/bin/clockwork:20:in `<top 
(required)>' 
    C:/Ruby192/lib/ruby/gems/1.9.1/bin/clockwork:19:in `load' 
    C:/Ruby192/lib/ruby/gems/1.9.1/bin/clockwork:19:in `<main>' 

我在lib文件夾scraper.rb:

class Scraper 
require 'mechanize' 
def iqmedier 
    #SOME CODE 

    end 

def mikkelsen 
#SOME CODE 

    end 
def orville 
    #SOME CODE 
    end 
end 

回答

1

我沒有真正熟悉的發條,但並不需要添加一個「要求‘的delayed_job’」在鐘的頂部.RB?您可能還需要安裝delayed_job gem。這就是說,如果你使用'bundle exec'運行,你應該使用Gemfile來管理這個,你不應該在clock.rb中需要rubygems。

+0

我用新的錯誤日誌更新了我的問題。我已安裝delayed_job並運行遷移 – 2011-04-22 11:33:29

+0

如何運行我的clock.rb文件? – 2011-04-22 11:55:00

相關問題