Size: a a a

Ruby, Rails, Hanami | dry-rb

2019 December 27

f🤔

focusshifter 🤔 in Ruby, Rails, Hanami | dry-rb
Tim
Че случается когда несколько рельсоконтейнеров с одинаковыми бд креденшиалами запускают почти одновременно rails db:migrate? Первый проводит миграции, остальные ждут, а как первый закончит, то все сразу проходят?
По умолчанию кто не первый - обломается на получении advisory lock, блокировку где-то в районе пятерки ввели
источник

T

Tim in Ruby, Rails, Hanami | dry-rb
И просто упадет или будет ждать? И можно его как-то заставить ждать?
источник

f🤔

focusshifter 🤔 in Ruby, Rails, Hanami | dry-rb
Просто упадёт, а какую задачу решаешь-то?
источник

IB

Ihor Boiko in Ruby, Rails, Hanami | dry-rb
Tim
Че случается когда несколько рельсоконтейнеров с одинаковыми бд креденшиалами запускают почти одновременно rails db:migrate? Первый проводит миграции, остальные ждут, а как первый закончит, то все сразу проходят?
Упадёт все) интересное конечно решение, но какая сама задача то?
источник

AK

Artyom Kalmykov in Ruby, Rails, Hanami | dry-rb
Tim
Че случается когда несколько рельсоконтейнеров с одинаковыми бд креденшиалами запускают почти одновременно rails db:migrate? Первый проводит миграции, остальные ждут, а как первый закончит, то все сразу проходят?
А почему в таком кейсе не используются стендалон мигрейшн или ликвибейз например?
источник

f🤔

focusshifter 🤔 in Ruby, Rails, Hanami | dry-rb
Ihor Boiko
Упадёт все) интересное конечно решение, но какая сама задача то?
Не всё, первый покатится, последующие получат ConcurrentMigration ошибку
источник

T

Tim in Ruby, Rails, Hanami | dry-rb
Artyom Kalmykov
А почему в таком кейсе не используются стендалон мигрейшн или ликвибейз например?
А чо ето
источник

T

Tim in Ruby, Rails, Hanami | dry-rb
focusshifter 🤔
Просто упадёт, а какую задачу решаешь-то?
Да я думаю как организовать миграцию нормально в кубернетсах, подумал вот этот rails db:migrate в init пода засунуть. В принципе то что они падать будут тоже не беда
источник

AK

Artyom Kalmykov in Ruby, Rails, Hanami | dry-rb
источник

AK

Artyom Kalmykov in Ruby, Rails, Hanami | dry-rb
источник

f🤔

focusshifter 🤔 in Ruby, Rails, Hanami | dry-rb
Tim
Да я думаю как организовать миграцию нормально в кубернетсах, подумал вот этот rails db:migrate в init пода засунуть. В принципе то что они падать будут тоже не беда
Делаешь отдельный под-мигратор, катишь в первую очередь его
источник

T

Tim in Ruby, Rails, Hanami | dry-rb
Так и делаю щас, хуй ня же
источник

LK

L K in Ruby, Rails, Hanami | dry-rb
L K
привет, может кто объяснить, есть env в системе REDIS_URL=redis://134.56.80.12:6379 // пример ип, не реальный если что )
RAILS_ENV=production
RAKE_ENV=production

используется resque, есть инициализатор в config/initializers/resque.rb
соодержание приблизительное
config_file = "./config/resque.yml"
 resque_config = YAML.load(ERB.new(IO.read(config_file)).result)
 uri = URI.parse(resque_config[Rails.env])
 Resque.redis = uri

есть конфиг config/resque.yml
development: localhost:6379
test: localhost:6379
production: <%= ENV['REDIS_URL'] %>
когда запускаю rails c  и ввожу ENV['REDIS_URL']
то поулчаю url правильный

потом получаю сущность с базы model = Model.find 1
запускаю джобу resque model.runJob

пишет Redis::CannotConnectError: Error connecting to Redis on 127.0.0.1:6379 (Errno::ECONNREFUSED

т.е. подхватывает env уже не production, а development

когда зашел в конфиг  config/initializers/resque.yml и написал Rails.logger.debug(Rails.env) поулчаю development вместо production

хотя в системе выставлено RAILS_ENV=production

я не руби разработчик от слова вообще, занимаюсь DevOps
это у меня в системе проблема или что-то в проекте править нужно ?
может кому пригодится, spring stop надо ввести и тогда заново консоль запустить что бы env подхватился новый
какая-то дичь
spring что ли кеширует проект ?
источник

f🤔

focusshifter 🤔 in Ruby, Rails, Hanami | dry-rb
Tim
Так и делаю щас, хуй ня же
И проблема заключается в?
источник

T

Tim in Ruby, Rails, Hanami | dry-rb
Деплой становится сложнее, лишние телодвижения появляются. А надо шобы жмак энтер и идешь за кофейком
источник

f🤔

focusshifter 🤔 in Ruby, Rails, Hanami | dry-rb
Tim
Деплой становится сложнее, лишние телодвижения появляются. А надо шобы жмак энтер и идешь за кофейком
Так тебя набор подов никак не лимитирует в достижении жмака
источник

T

Tim in Ruby, Rails, Hanami | dry-rb
focusshifter 🤔
Так тебя набор подов никак не лимитирует в достижении жмака
Ну типа ты сначала деплоишь тот под, потом прогоняешь миграцию, потом деплоишь остальные. Так? Или как? Или может можно настроить чтобы новые поды включались только после того как один конкретный отработает?
источник

f🤔

focusshifter 🤔 in Ruby, Rails, Hanami | dry-rb
Tim
Ну типа ты сначала деплоишь тот под, потом прогоняешь миграцию, потом деплоишь остальные. Так? Или как? Или может можно настроить чтобы новые поды включались только после того как один конкретный отработает?
у нас опсы сделали ансибловские плейбуки для этого, которые последовательно сначала миграцию дергают через kubectl apply таска_миграции.yml, потом основной деплой. всё это под кнопочкой в гитлабе
источник

T

Tim in Ruby, Rails, Hanami | dry-rb
ну при этом обычный роллбэк это вернуться к тому деплою который накатить миграцию на специальный под
источник

T

Tim in Ruby, Rails, Hanami | dry-rb
мне кажется что это какой-то костыль и это должно быть решаемо сугубо в рамках кубернетсов
источник