Резина с отдельным экземпляром для Sidekiq в производстве
Я хочу иметь отдельный экземпляр для запуска Sidekiq в моей производственной среде.
В настоящее время у меня есть db
, web
а также app
случаи и тому app
Экземпляр заботится о Sidekiq, который оказывается неправильным ходом.
Я создал новый экземпляр с ролями redis
, redis_master
а также sidekiq
но тогда, когда я SSH в это ничего не работает, и если я делаю cap deploy
во время bundle install
это говорит, что "dotenv" только для случаев с ролью app
и это откатилось.
Как мне все настроить? Нужно ли добавлять роль приложения в экземпляр Sidekiq, чтобы он работал?
РЕДАКТИРОВАТЬ: Хорошо, я сделал это, добавив app
От роли к экземпляру sidekiq
, Также я удалил passenger
а также apache
Роли от него вручную, чтобы он не запускал сервер приложений. Единственная проблема, с которой я сталкиваюсь сейчас - это то, что rubber
не запускается автоматически, не останавливается и не перезапускается sidekiq
во время развертывания. Нужно понять это.
Выглядит хорошо, хотя.
1 ответ
Являются ли эти ответные роли?
Я бы порекомендовал установить роль rails и ruby (отдельно) в вашей сборнике игр, запустить сборник игр в вашем новом экземпляре sidekiq-prod, а затем выполнить cap prod deploy
Если вы используете приложение rails с capistrano для развертывания sidekiq, вы можете получить доступ к enils rails в вашей настройке lib/capistrano/tasks/sidekiq.cap
:
export RAILS_ENV=<%= fetch(:rails_env) %>