2010-04-06 100 views
1

我試圖使用collectiveidea的delayed_job的寶石 安裝說明包括幫助安裝的delayed_job

Rake tasks are not automatically loaded from gems, so you’ll need to add 
the following to your Rakefile: 

begin 
    require 'delayed/tasks' 
rescue LoadError 
    STDERR.puts "Run `rake gems:install` to install delayed_job" 
end 

哪裏是我的Rake文件?什麼是Rakefile?

回答

1

Rakefile是一個文件,用於配置rake,一個Ruby構建工具(有點像make,但都在Ruby中)。在Rails項目中,頂部項目目錄中有一個名爲Rakefile的文件,您可以在其中插入此代碼。

或者,您可以將一個文件添加到lib/tasks目錄(例如名爲delayed_job.rake),並將代碼放到那裏。該文件的名稱並不重要,只要

  1. 它是在lib/tasks目錄
  2. 它具有擴展.rake
+0

感謝羅布, 這是對我的鼻子。 – Mike 2010-04-07 16:47:53

2

我有同樣的問題,並把這些代碼在在lib/tasks目錄下的delayed_job.rake。它的作品,但現在它說:

*** Starting job worker localhost pid:79949 
rake aborted! 
uninitialized constant Delayed::Job 

現在有什麼錯?

更新:我剛剛從布蘭登郵件回答:

即使世界在最新版本中有一個錯誤:它沒有得到正確使用耙子任務時初始化。如果您在配置/初始化文件,並把遵循它,錯誤就會消失:

Delayed::Worker.backend = :active_record 
3

我曾與軌道3.1和collectiveidea-的delayed_job同樣的問題。

有一次,我在初始化添加Delayed::Worker.backend = :active_record我得到了錯誤
no such file to load -- delayed/backend/active_record (LoadError)

對我來說,解決辦法是添加gem 'delayed_job_active_record'在Gemfile中,作爲建議here