Size: a a a

2020 October 22

AB

Alex Bubnov in pro.elixir
Артем Паньков
мне нужно хранить 1 постоянную переменную, которая будет существовать и после перезапусков ноды.
естественно, хочется сложить её в место попроще
если пользуешься sys.config - в них есть инклюды, можно сделать инклюд на файл, который будешь перезаписывать.
можно, действительно, воспользоваться env vars, так же перезаписывать файл с декларацией, который дергается при рестарте
источник

jc

john conor  in pro.elixir
Артем Паньков
есть SaaS сервис. в нём есть множество компаний. иногда возникает необходимость показать им какое-то текстовое обьявление, например, о технических работах. хочется, чтобы объявление жило при рестарте ноды. не хочется хранить его в каких-либо конфигах, так как иногда срок его жизни - минуты
дак в чем проблема то? храните чо хотите и где хотите, кто-то мешает или не умеете?
источник

AB

Alex Bubnov in pro.elixir
ну и можно dets, чо бы нет
источник

P

Pavel in pro.elixir
Артем Паньков
есть SaaS сервис. в нём есть множество компаний. иногда возникает необходимость показать им какое-то текстовое обьявление, например, о технических работах. хочется, чтобы объявление жило при рестарте ноды. не хочется хранить его в каких-либо конфигах, так как иногда срок его жизни - минуты
Вот тут уже же про бизнес-логику объявлений, с датой начала, датой конца показа, текстом и так далее. Не находите?
источник

АП

Артем Паньков... in pro.elixir
john conor 
дак в чем проблема то? храните чо хотите и где хотите, кто-то мешает или не умеете?
изначальный вопрос был прост - найти живой кекс, который эту проблему уже порешал. философская дискуссия о правильном месте хранения 1 несчастной переменной началась позже

всем привет! а что у нас есть для хранения каких-нибудь постоянных переменных живое? типа https://github.com/meyercm/settings
источник

АП

Артем Паньков... in pro.elixir
Pavel
Вот тут уже же про бизнес-логику объявлений, с датой начала, датой конца показа, текстом и так далее. Не находите?
не нахожу. это опять овердизайн. начало показа - когда в переменной есть непустое значение. конец показа - когда её обнулили.
источник

DP

Dmitry Ponyatov in pro.elixir
Артем Паньков
девопса не существует
а с конфигом это наоборот сложнее, коммитить, деплоить. плюс это явно неправильное направление, так как в будущем оно должно меняться через веб-интерфейс
классический getenv не подходит?
источник

jc

john conor  in pro.elixir
приложение к энвиронменту уже не имеет никакого отношения
источник

jc

john conor  in pro.elixir
бизнес логику у env не спрашивают
источник

P

Pavel in pro.elixir
Ну так если это объявление о мейтенансе - то в чем проблема, просто путь по-умолчанию будет при старте - единичкой, потом через консольку put_env и потекла, родимая
источник

jc

john conor  in pro.elixir
а причем тут энв?
источник

P

Pavel in pro.elixir
john conor 
бизнес логику у env не спрашивают
это овердизайн, ты нипанимаишь!
источник

AB

Alex Bubnov in pro.elixir
Артем Паньков
изначальный вопрос был прост - найти живой кекс, который эту проблему уже порешал. философская дискуссия о правильном месте хранения 1 несчастной переменной началась позже

всем привет! а что у нас есть для хранения каких-нибудь постоянных переменных живое? типа https://github.com/meyercm/settings
ну и кстати, можешь и для settings написать dets-бэкэнд
источник

jc

john conor  in pro.elixir
зачем логику реализовывать через енв?
источник

P

Pavel in pro.elixir
john conor 
зачем логику реализовывать через енв?
ну ты часто логику через env пробрасываешь, просто не напрямую, а через настройки, которые меняют эту самую логику. самый простой пример MIX_ENV для разработки
источник

jc

john conor  in pro.elixir
мы же не говорим про разработку а говорим о эксплуатации
источник

jc

john conor  in pro.elixir
и микса в эксплуатации уже нет
источник

P

Pavel in pro.elixir
поведение приложения может меняться из-за определенных условий: к примеру у тебя два рассыльщика почты Mailchimp и Sendgrid, ты можешь завести переменную которая вообще отключает почту, переключается на fallback отправщик и так далее
источник

jc

john conor  in pro.elixir
нет, ты должен в приложении реализовать состояние а не придумывать переменную окружения
источник

jc

john conor  in pro.elixir
включенный рассыльщик, отключенный рассыльщик
источник