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

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

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

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

Конечная цель — создать несколько задач rake для обработки всех задач sidekiq.

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

sidekiq.yml

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

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

пакет exec sidekiq -C './config/sidekiq.yml' -e 'разработка' -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.

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

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

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

Благодарю.


person Myles Merrell    schedule 18.11.2013    source источник


Ответы (2)


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

Было две проблемы:

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

So

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]
person Myles Merrell    schedule 20.11.2013

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

sidekiq -d -q несущей волны -l sidekiq.log

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

person Dhara Joshi    schedule 10.02.2015