无法仅在生产中的rake任务中加载模型数据

时间:2017-02-21 14:57:29

标签: ruby-on-rails ruby rake-task

我有一个佣金任务

namespace :authentication do

desc "Automatically runs authentication tester"

task :tester => :environment do
  begin
    Auth.perform
  rescue
    SystemEvent.error(50049, "Authentication Tester Finished Unsuccessfully.")
  end
 end
end

在我的Auth.perform中,我用过,

Customer.first.symbol

我从数据库加载客户。但总是来到救援区说

undefined method 'symbol' for nil:class

在我的application.rb

config.autoload_paths += Dir.glob("#{Rails.root}/lib/**/*").select{|d| File.directory?(d)}
config.autoload_paths += Dir.glob("#{Rails.root}/app/models/**/*").select{|d| File.directory?(d)}
config.autoload_paths += ["#{Rails.root}/services/"]

这会在开发中调用Auth.perform。只有在生产中它才能进入救援区。这是因为我失踪了吗?

require 'rake'

请提供解决方案。我已经有一个星期了。

请注意:此rake任务由另一个实例中运行的cron调用。

0 个答案:

没有答案