Size: a a a

Clojure — русскоговорящее сообщество

2021 March 31

AP

Anatoliy Poloz in Clojure — русскоговорящее сообщество
и это
источник

IG

Ivan Grishaev in Clojure — русскоговорящее сообщество
Кто работал с мульти-проектами? lein-sub, lein-parent, managed-deps, вот это всё.
источник

SK

Serge Kosykh in Clojure — русскоговорящее сообщество
Прошу прощения за нубский вопрос, просто, никак не найду толковых материалов на это счет.
Как идеологически правильно организовывать связку nrepl с приложением на production? Цель - чтобы и деградации производительности приложения по возможности не было, и чтобы можно было по nrepl к нему подключиться и его промониторить.
источник

KC

Kirill Chernyshov in Clojure — русскоговорящее сообщество
Serge Kosykh
Прошу прощения за нубский вопрос, просто, никак не найду толковых материалов на это счет.
Как идеологически правильно организовывать связку nrepl с приложением на production? Цель - чтобы и деградации производительности приложения по возможности не было, и чтобы можно было по nrepl к нему подключиться и его промониторить.
для продакшена nrepl надо поднимать изнутри приложения а не наоборот, тогда и не будет никакой деградации
источник

KC

Kirill Chernyshov in Clojure — русскоговорящее сообщество
источник

SK

Serge Kosykh in Clojure — русскоговорящее сообщество
ОК, понял; спасибо.
источник

IG

Ivan Grishaev in Clojure — русскоговорящее сообщество
источник

SK

Serge Kosykh in Clojure — русскоговорящее сообщество
Спасибо!
источник

ST

Sergey Trofimov in Clojure — русскоговорящее сообщество
Serge Kosykh
Прошу прощения за нубский вопрос, просто, никак не найду толковых материалов на это счет.
Как идеологически правильно организовывать связку nrepl с приложением на production? Цель - чтобы и деградации производительности приложения по возможности не было, и чтобы можно было по nrepl к нему подключиться и его промониторить.
а действительно ли нужен ли репл на продакшене?
я вот в принципе знаю, как это сделать, но мне за несколько лет ни разу не понадобилось 😊
источник

SK

Serge Kosykh in Clojure — русскоговорящее сообщество
Кажется, что нужен. Хотя, может это мой максимализм.
Следить за рантаймом изнутри самогО приложения, во всяком случае, в некоторых кейсах, бывает весьма удобно. Лично мне думается, что в этом - довольно весомое преимущество и BEAM (Erlang, Elixir, etc) и Clojure (даже не уровня JMX, а чего-то более высокоуровневого). Хотя, повторюсь, может я и заморочился. Тут старым корифеям Clojure виднее, конечно же.
источник

DL

Dmytro Lispyvnyi '(🌲... in Clojure — русскоговорящее сообщество
Sergey Trofimov
а действительно ли нужен ли репл на продакшене?
я вот в принципе знаю, как это сделать, но мне за несколько лет ни разу не понадобилось 😊
у меня были случаи, когда проще было бы залезть подхачить, но увы, у нас запрещено :)
источник

TL

Timur Latypoff in Clojure — русскоговорящее сообщество
Sergey Trofimov
а действительно ли нужен ли репл на продакшене?
я вот в принципе знаю, как это сделать, но мне за несколько лет ни разу не понадобилось 😊
Мне кажется, красивая идея, и может помочь в техподдержке, чтобы зацепить какое-то состояние проги, которое не было заблаговременно закинуто в логи.

Также можно багу поправить в системе быстренько — в случае, если рестарт системы "тяжеловесен".
источник

ST

Sergey Trofimov in Clojure — русскоговорящее сообщество
я понимаю, что есть use cases
но в контексте _нубского_ вопроса выглядит как преждевременная штука
источник

DL

Dmytro Lispyvnyi '(🌲... in Clojure — русскоговорящее сообщество
Sergey Trofimov
я понимаю, что есть use cases
но в контексте _нубского_ вопроса выглядит как преждевременная штука
согласен
источник

SK

Serge Kosykh in Clojure — русскоговорящее сообщество
Dmytro Lispyvnyi '(🌲 🍺)
у меня были случаи, когда проще было бы залезть подхачить, но увы, у нас запрещено :)
Может быть даже не столько подхачить/устранить, сколько понять, в чем проблема. Хотя, и подхачить иметь возможность - тоже неплохо, мало ли.

Насчет нубского контекста - ну, это мои личные "тараканы": сразу стараюсь понять, в какой среде можно было бы работать, что в ней можно и что действительно нужно сделать и т.д.
источник

SK

Serge Kosykh in Clojure — русскоговорящее сообщество
Timur Latypoff
Мне кажется, красивая идея, и может помочь в техподдержке, чтобы зацепить какое-то состояние проги, которое не было заблаговременно закинуто в логи.

Также можно багу поправить в системе быстренько — в случае, если рестарт системы "тяжеловесен".
Иногда рестарт системы не только тяжеловесен, но и крайне нежелателен (вплоть до почти невозможности в некоторых кейсах). Кейсы такие, конечно, экстремальные, но порой бывают (например, если state сложный и хранить его трудно, или если нельзя допускать перерыва в обслуживании).
источник

SK

Serge Kosykh in Clojure — русскоговорящее сообщество
Точнее, не "хранить", а "восстанавливать": к примеру, он может быть завязан на открытых сокетах во внешних системах, или на чем-то подобном.
источник

MB

Mike Bohdan in Clojure — русскоговорящее сообщество
Dmytro Lispyvnyi '(🌲 🍺)
у меня были случаи, когда проще было бы залезть подхачить, но увы, у нас запрещено :)
Разрешено)
источник

MB

Mike Bohdan in Clojure — русскоговорящее сообщество
Serge Kosykh
Прошу прощения за нубский вопрос, просто, никак не найду толковых материалов на это счет.
Как идеологически правильно организовывать связку nrepl с приложением на production? Цель - чтобы и деградации производительности приложения по возможности не было, и чтобы можно было по nrepl к нему подключиться и его промониторить.
Можно ещё поднять через https://github.com/nrepl/drawbridge по http даже с авторизацией
источник

MB

Mike Bohdan in Clojure — русскоговорящее сообщество
Sergey Trofimov
а действительно ли нужен ли репл на продакшене?
я вот в принципе знаю, как это сделать, но мне за несколько лет ни разу не понадобилось 😊
1. не всегда просто воссоздать стейт, чтоб повторить баг
2. Чтоб выкатить фикс, надо узнать версию апки задеплоеной, сделать тикет, пр, собрать апрувы (если это средина ночи – сложно), дождаться билда, возможно согласовать даунтайм, найти человека с пермтшенами деплоя и тд. В случае с реплом можно пофиксить и сделать уже не горящий пр.
источник