帮助安装delayed_job

时间:2010-04-06 23:53:29

标签: ruby-on-rails rake delayed-job

我正在尝试使用collectiveidea的delayed_job gem 安装说明包括

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

我的Rakefile在哪里?什么是Rakefile?

3 个答案:

答案 0 :(得分:3)

我在rails 3.1和collectiveidea-delayed_job中遇到了同样的问题。

在初始化程序中添加Delayed::Worker.backend = :active_record后,我收到了错误 no such file to load -- delayed/backend/active_record (LoadError)

我的解决方案是在gem文件中添加gem 'delayed_job_active_record',如建议here

答案 1 :(得分:2)

我遇到了同样的问题,并将该代码放在lib / tasks目录中的delayed_job.rake中。它有效,但现在它说:

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

现在有什么问题?

更新:我刚收到布兰登的回复邮件:

最新版本中的一个错误,它在使用rake任务时无法正确初始化。如果您在config / initializers中创建一个文件并将其放入其中,则该错误应该消失:

Delayed::Worker.backend = :active_record

答案 2 :(得分:1)

Rakefile是一个文件,用于配置rake,一个Ruby构建工具(有点像make,但都在Ruby中)。在Rails项目中,顶部项目目录中有一个名为Rakefile的文件,您可以在其中插入此代码。

或者,您可以将文件添加到lib / tasks目录(例如,名为delayed_job.rake)并将代码放入其中。只要

,文件的名称就不重要了
  1. 位于lib / tasks目录
  2. 它的扩展名为.rake