Сервер 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 и отладил проблемы с конфигурационным файлом.
есть два вопроса:
- я неправильно написал файл журнала ... дох!
- вам нужно настроить каждую строку с двоеточием (:) для обозначения значения. Он тянет файл 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"