1

我正在使用 gem "delayed_job_active_record" 和 heroku 上的雇佣火来在后台运行作业。我还使用我的 heroku 帐户设置了 heroku 环境变量。我在 gem 文件中的序列如下

   gem 'delayed_job_active_record'
   gem 'daemons'
   gem 'hirefire'

它也在当地环境中进行开发和生产。但是工作没有从延迟的工作表中触发 heroku。首先,我尝试在 intilizer 中没有配置文件hirefire.rb,但没有成功。在我添加并将此代码放在下面之后。

           HireFire.configure do |config|

             if Rails.env.production?
              config.max_workers = 5 # default is 1
              config.min_workers = 0 # default is 0
              config.job_worker_ratio = [
               {:jobs => 1, :workers => 1},
               {:jobs => 15, :workers => 2},
               {:jobs => 35, :workers => 3},
               {:jobs => 60, :workers => 4},
               {:jobs => 80, :workers => 5}
              ]
        end
      end

但没有成功。虽然hirefire也正在加载,请参见下面的屏幕截图 在此处输入图像描述

4

1 回答 1

0

可能不应该在Rails.env.production?那里检查并把它放进去config/environments/production.rb

要查看如何在 Heroku 中设置延迟作业活动记录,请阅读以下内容:https ://devcenter.heroku.com/articles/delayed-job

于 2013-02-20T16:30:24.867 回答