2017-02-14 29 views
0

Я пытаюсь построить микросервис на чистом рубине с некоторой дополнительной функцией. Я использую sidekiq для работы и pg для подключения БД.ruby ​​sidekiq `require ': невозможно загрузить такой файл - pg (LoadError)

для запуска Sidekiq сервера Я использую настройки по умолчанию и код:

# ./config/sidekiq.rb 

require 'sidekiq' 
require 'pg' # This doesn't work with "`require': cannot load such file -- pg (LoadError)" 
require_relative '../jobs/location_jobs/collect_job' # here is my job locates 

# If your client is single-threaded, we just need a single connection in our Redis connection pool 
Sidekiq.configure_client do |config| 
    config.redis = { url: 'redis://localhost:6379/0', namespace: 'analytic_serv', size: 5 } 
end 

# Sidekiq server is multi-threaded so our Redis connection pool size defaults to concurrency (-c) 
Sidekiq.configure_server do |config| 
    config.redis = { url: 'redis://localhost:6379/0', namespace: 'analytic_serv' } 
end 

Как вы можете видеть, что я пытаюсь require PG камень в sidekiq.rb. Фактически я использую его в другом файле и использую его здесь только, например.

Так что, когда я пытаюсь запустить мой sidekiq-сервер он сгенерирует исключение

bundle exec sidekiq -r ./config/sidekiq.rb -C ./config/sidekiq.yml 

analytic_serv/config/sidekiq.rb:2:in требуется ': не может загрузить такой файл - стр (LoadError) `

это работает для простого рубинового скрипта, который я использую для создания задания, но он не работает, когда я запускаю sidekiq-сервер.

Пожалуйста, помогите. Что я делаю не так? Как включить жемчужину в этом случае?

Спасибо.

+0

Вы уверены, что на машине установлен 'pg' gem? – engineersmnky

+0

уверен! Я использую его для заданных данных при создании задания. И с моими другими проектами Rails –

+0

он работает в ruby-скрипте, но не в файле sidekiq-server –

ответ

1

Попробуйте добавить gem 'pg' к вашему Gemfile, и установить его с bundle install.

+0

Спасибо. Оно работает. –

1

Всегда используйте Bundler, чтобы убедиться, что ваши драгоценные камни установлены правильно: bundle exec ruby script.rb и bundle exec sidekiq

+0

, к сожалению, это не помогло. –

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

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