У нас есть приложение для рельсов, которое работает отлично в течение нескольких месяцев. Сегодня мы обнаружили некоторые несоответствия с выборами лидеров. В первую очередь:вопросов с выборами лидера фасонов
su - "leader_only bundle exec rake db:migrate" webapp
После многих часов проб и ошибок (и десятки внедрений) ни один из экземпляров в нашей Dev приложения запустить эту миграцию. /usr/bin/leader_only
ищет переменную окружения, которая никогда не устанавливается ни в одном экземпляре (приложение-разработчик имеет только один экземпляр).
Установка развертывания приложения в 1 экземпляр за раз и предоставление значения, которое /usr/bin/leader_only
ожидает как env var работает, но не так, как было и должно. (Теперь все экземпляры являются лидерами, поэтому они бесплодно запускают db: migrate, и это будет 1 за раз, поэтому, если у нас будет много примеров, это замедлит нас)
Мы думали, возможно, это связано с некоторыми проблемами с кодом и/или приложение, поэтому мы перестроили его. Без изменений.
Я даже клонировал наш RDS-сервер тестового приложения и создал новое приложение из сохраненной конфигурации, развернул новый git-хэш и никогда не выполнял db: migrate. Он пытается и показывает строку leader_only, но он никогда не запускается. Это исключает код, конфигурацию, артефакты.
Кроме того, для его ценности он никогда не говорит о пропуске миграций из-за RAILS_SKIP_MIGRATIONS, который имеет значение false. Это означает, что на самом деле он пытается запустить db: migrate, но не из-за того, что его не называют лидером.
У меня точно такая же проблема. Пожалуйста, ответьте на свой вопрос, если найдете решение. Благодаря! – dwilkie
@ dwilkie мы обратились к поддержке AWS через наш контракт, и он «находится в процессе». Все, что мы слышали от нашего представителя, это «похоже, что это большая проблема внутри aws для beanstalk» и «похоже, что мы что-то нашли». Я обновлю эту страницу, когда узнаю больше. –
Также работает в этой же ситуации. Любой ответ от AWS? – Brent