2016-11-11 12 views
0

Я использую mongoid рядом с postgresql в рельсах 5 приложений.Resque видит монгоидные модели, но не таблицы postgresql

Мои Resque работы отлично работают с Mongoid моделями, однако, когда я пытаюсь использовать один из моих таблиц PostgreSQL в работу, я получаю следующее сообщение об ошибке:

PG::UndefinedTable: ERROR: relation "admins" does not exist LINE 1: SELECT "admins".* FROM "admins"^: SELECT "admins".* FROM "admins" 

Это мой Lib/задачи/resque.rake file

require 'resque/tasks' 

task "resque:setup" => :environment do 
    ENV['QUEUE'] = '*' 
    Resque.before_fork do 
    defined?(ActiveRecord::Base) and 
     ActiveRecord::Base.connection.disconnect! 
    end 

    Resque.after_fork do 
    defined?(ActiveRecord::Base) and 
     ActiveRecord::Base.establish_connection 
    end 
end 

Указанная таблица postgres действительно существует и отлично работает с приложением рельсов. Похоже, что, по крайней мере, вне основного приложения rails, ActiveRecord по умолчанию использует mongoid, поэтому ни одна из моих моделей postgresql не видна внутри рабочего. А может и нет.

Я что-то упустил?

ответ

0

я в конечном итоге фиксируя его настройки моя PROCFILE и задача файла немного, этот вопрос должен был Resque не подбирая правильную окружающую среду (отсюда и неопределенные модели отношений)

Procfile:

web: bundle exec puma -t 5:5 -p ${PORT:-3000} -e ${RACK_ENV:-development} 
worker: bundle exec rake resque:pool 

Я закончил с помощью lib/tasks/resque.rake просто для объявления задач и перевел код инициализации на lib/tasks/resque-pool.rake. В основном resque:setup вызывается до resque:pool:setup, он предварительно загружает среду рельсов для менеджера пула.

require 'resque/tasks' 
require 'resque/pool/tasks' 

task "resque:setup" => :environment do 
    Resque.before_fork = Proc.new do 
     ActiveRecord::Base.connection.disconnect! 
    end 
    Resque.after_fork = Proc.new do 
     ActiveRecord::Base.establish_connection 
    end 
end 

task "resque:pool:setup" do 

end 

 Смежные вопросы

  • Нет связанных вопросов^_^