Сервер Sidekiq не загружает файл конфигурации

Я пытаюсь настроить sidekiq с моим приложением sinatra, и у меня есть проблема с запуском работников sidekiq для запуска в режиме демона с файлом конфигурации.

мой проект имеет следующую структуру:

project
- config
-- sidekiq.yml #Sidekiq Config File
- app
-- app.rb #Sinatra Application File
- Rakefile
- Gemfile
- etc.

конечной целью является создание некоторых задач грабли для обработки всех задач sidekiq.

пока я просто пытаюсь заставить вещи работать правильно через командную строку, а затем я заставлю его работать через выгребать.

sidekiq.в формате YML

# Sidekiq Configuration
---
development:
  logile: ./log/sidekiq_development.log
  verbose: true
  pidfile: ./tmp/pids/sidekiq.pid
  concurrency: 1
  queues:
    - [household_import, 7]

когда я запускаю эту команду в директории проекта:

bundle exec sidekiq-C './ config / sidekiq.yml '- e 'development' - d

Я получаю следующее:

You really should set a logfile if you're going to daemonize
/Users/gutter007/git/webapps/project/vendor/bundle/gems/sidekiq-2.16.1/lib/sidekiq/cli.rb:141:in
 `daemonize'
 /Users/gutter007/git/webapps/project/vendor/bundle/gems/sidekiq-2.16.1/lib/sidekiq/cli.rb:39:in
 `parse'
 /Users/gutter007/git/webapps/project/vendor/bundle/gems/sidekiq-2.16.1/bin/sidekiq:7:in
 `<top (required)>'
 /Users/gutter007/git/webapps/project/vendor/bundle/bin/sidekiq:23:in
 `load'
 /Users/gutter007/git/webapps/project/vendor/bundle/bin/sidekiq:23:in
 `<main>'

моя путаница в том, что у меня есть файл журнала, установленный в файле конфигурации. Мое предположение заключается в том, что он неправильно берет или читает файл cofig.

Я попытался настроить пути и использовать полные пути с помощью файл конфигурации, но он, похоже, ничего не изменил сообщение об ошибке. Я также настроил сам файл конфигурации, предполагая, что формат может быть выключен, но не кости.

кто-нибудь видит, что я делаю неправильно здесь?

пожалуйста, дайте мне знать, если вам нужно больше информации.

спасибо.

2 ответов


я покопался в коде sidekiq и отладил проблемы с конфигурационным файлом.

есть два вопроса:

  1. я неправильно написал файл журнала ... дох!
  2. вам нужно настроить каждую строку с двоеточием (:) для обозначения значения. Он тянет файл yaml в хэш, и без символа он не распознает ключ

Так

development:
  logfile: ./log/sidekiq_development.log

не работает

development:
  :logfile: ./log/sidekiq_development.log
#notice the ':' infront of the logfile

делает!

вот мое обновление рабочий журнал.

# Sidekiq Configuration
---
development:
  :logfile: ./log/sidekiq_development.log
  :verbose: true
  :pidfile: ./log/tmp/pids/sidekiq.pid
  :concurrency: 1
  :queues:
    - [household_import, 7]

следующая команда помогла мне,

sidekiq -д -д carrierwave -л sidekiq.log

вы можете опустить часть "-q carrierwave", если вы не используете "carrierwave"