【问题标题】:Help installing delayed_job帮助安装delayed_job
【发布时间】:2011-02-05 01:22:30
【问题描述】:

我正在尝试使用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?

【问题讨论】:

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


    【解决方案1】:

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

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

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

    【讨论】:

      【解决方案2】:

      我有同样的问题,把代码放在 lib/tasks 目录下的delayed_job.rake 中。它有效,但现在它说:

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

      现在怎么了?

      更新:我刚收到 Brandon 的邮件回复:

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

      Delayed::Worker.backend = :active_record
      

      【讨论】:

        【解决方案3】:

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

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

        1. 它位于 lib/tasks 目录中
        2. 它的扩展名为 .rake

        【讨论】:

          猜你喜欢
          • 2010-12-15
          • 2011-07-28
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2019-07-20
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多