Управление рабочими процессами Sidekiq для нескольких сред в Heroku с помощью procfile

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

Я устанавливаю новые переменные так:

heroku config:set SIDEKIQ_CONCURRENCY=3 --app mystaging
heroku config:set SIDEKIQ_CONCURRENCY=15 --app myproduction 

Затем я добавил следующую строку в свой procfile:

worker: bundle exec sidekiq -c ENV[SIDEKIQ_CONCURRENCY]

Я также пробовал это:

worker: bundle exec sidekiq -c $SIDEKIQ_CONCURRENCY

И когда я развертываю, я получаю следующую ошибку в своих журналах:

invalid value for Integer(): "ENV[SIDEKIQ_CONCURRENCY]"

person Bailey Smith    schedule 08.02.2014    source источник
comment
странно - я использую worker: bundle exec sidekiq -c $SIDEKIQ_CONCURRENCY, который работает для меня.   -  person John Beynon    schedule 08.02.2014
comment
Из любопытства, когда вы смотрите на страницу ресурсов Heroku для своего приложения под Dynos, видите ли вы worker bundle exec sidekiq -c $SIDEKIQ_CONCURRENCY или worker bundle exec sidekiq -c, а затем целое число?   -  person Bailey Smith    schedule 09.02.2014
comment
вырезать и вставить со страницы моих ресурсов - bundle exec sidekiq -c $SIDEKIQ_CONCURRENCY   -  person John Beynon    schedule 10.02.2014


Ответы (1)


Просто чтобы закрыть это, worker: bundle exec sidekiq -c $SIDEKIQ_CONCURRENCY действительно работает. Я повторно развернулся, и ошибка устранена.

person Bailey Smith    schedule 07.08.2014