@proelixir

Страница 163 из 1045
Dmitry
03.11.2016
01:31:35
Баг просто не повторяемый

Иногда оно просто падает

И все

Звезды сходятся так что-либо

Google
Alexander
03.11.2016
01:32:26
может просто в воркере все обернуть и самого себя спасать?

Can
03.11.2016
01:33:02
Я не верю что люди не сталкивались с этим

Alexander
03.11.2016
01:33:06
просто если ты улетаешь в абнормал шутдаун, есессно апп старается сам не повиснуть и грейсфули уходит в мир иной

Я не верю что люди не сталкивались с этим
сталкивались, когда вот из-за такого 1 упавший факс уронил еще все остальные по всей стране

Dmitry
03.11.2016
01:33:50
Хз как сделать если убиваю killall командой легаси прогу, к которой подрубаюсь через порт

Фишка в том что все работает

Как Ванька встанька

Но иногда заметает хз почему

Заедает

Alexander
03.11.2016
01:36:32
проверяй что порт открыт, тогда делай дела, если нужно убить, убивай внешний процесс и опять проверяй, есть там что на порту

Dmitry
03.11.2016
01:36:47
Ну такое

Можно копать конечно

Можно вообще легаси переписать чтобы память не утекала

Google
Dmitry
03.11.2016
01:37:16
Но....

Alexander
03.11.2016
01:38:06
я в скрине запускал программку и просто через n времени убивал все скрины

т.к знал что она течет

просто в кроне был скрипт чтобы убить и поднять

Dmitry
03.11.2016
01:38:34
Ну я по сути ничего такого не делаю

Просто роняю генсервер и жду пока его заново поднимет

Просто иногда этого не происходит

И прям бесит

Alexander
03.11.2016
01:39:22
вообще костылей можно кучу нагородить, я вот уже 2 вижу. Так что пиши какой хочешь )

Dmitry
03.11.2016
01:39:33
Потому что не знаю почему

Alexander
03.11.2016
01:39:51
после секса с эликсиром я пришел к выводу что let it crash - это нежизнеспособно

пример: произошел нетсплит и дб не видна секунды 3. А в это время там сотни 2 запросов. Вместо того чтобы зарулить всех на сообщение, мол попробуйте позже, я получу полностью упавщий апп

заебись решение

так что никаких крешей, все должно быть отловлено

Can
03.11.2016
01:42:05
Все отловлено

Это джава

Alexander
03.11.2016
01:42:15
всем все ловится )

Can
03.11.2016
01:42:32
Ну я про стиль

Alexander
03.11.2016
01:42:35
в джаве логика на эксепшенах

а я про то чтобы у меня было все предсказуемо

Google
Alexander
03.11.2016
01:43:06
circuit breaker во все поля

Can
03.11.2016
01:47:20
Так а это

Старт перманент

Аппы

Последнее что осталось разобрать

Который в моем коде через микс_энв определяется

Он то что делает

Dmitry
03.11.2016
01:51:12
Если падает апп - падает нода

Теоретически можно через какой нибудь systemd перезапускать

Но я не умею)

Can
03.11.2016
01:51:47
Ну пиздец

Построим ещё один супервизор

Can
03.11.2016
01:52:16
Который будет над всеми охуенными супервизорами эрланга

Чтобы его рестартить

Dmitry
03.11.2016
01:52:35
Да, только уровня операционки))

Can
03.11.2016
01:52:45
Forever для ноды юзают

Ладно беру свои слова назад

Dmitry
03.11.2016
01:53:00
Вот реальная хуета получается

Can
03.11.2016
01:53:04
Тут Александр прав

Это ж самый распространённый юзкейс имхо

Google
Can
03.11.2016
01:53:42
Падение базы на минуту

И упавший апп

Dmitry
03.11.2016
01:54:18
Получается надо деплой жевать жопой чтобы все поднималось

Can
03.11.2016
01:54:18
Ну можно вкрутить дохуище рестартов в секунду

Но это выглядит ужасно

Dmitry
03.11.2016
01:54:42
Типа демонизировать бим

Can
03.11.2016
02:00:49
Кароч

Надо статью написать

Why famous erlang/elixir "let it crash" is broken

Admin
ERROR: S client not available

Can
03.11.2016
02:01:42
Она быстро расходится

У всех начинают гореть пердаки

Люди придумывают решение или объясняют автору где он не прав

Dmitry
03.11.2016
02:02:21
Осталось только понять, почему именно "why"... и я сразу напишу

Can
03.11.2016
02:02:34
Так вот идеальный пример

Why - отсутствие возможности рестарта аппы бесконечно, но с лимитом в единицу времени

Это бы все решило

Exponential backoff

Все дела

Просто оно рестартится 10 раз в 5 секунд, понимает что все плохо

Google
Can
03.11.2016
02:03:59
Дожидается пока пройдут 5 секунд

Рестартится снова

Никакой 100% загрузки cpu

Никаких костылей

Dmitry
03.11.2016
02:04:37
Можно самому переписать такое прямо в супервизоре

Can
03.11.2016
02:04:48
Аргументация с отвадившейся базой - идеальна

Абсолютно жива

Dmitry
03.11.2016
02:05:20
Короче работу сдам и начну строчить))

Can
03.11.2016
02:05:34
Можно самому переписать такое прямо в супервизоре
Да, но хочется чтобы это написал кто то у кого руки не из жопы как у меня растут

Плюс костыли нужны будут все равно

Dmitry
03.11.2016
02:06:00
Ну если пр в эликсир - есть шансы

Can
03.11.2016
02:06:09
Потому что даже если ты сам это напишешь то будет какой-нибудь внешний костыль

Потому что нету даже возможности просто по дефолту сделать так чтобы было бесконечно

Это на уровне языка надо сделать

Dmitry
03.11.2016
02:07:00
По дефолту же бесконечно

Просто ограничено временем

Can
03.11.2016
02:07:08
Так нет

Ну да

Dmitry
03.11.2016
02:07:27
Супервизор это генсервер стопудово

Can
03.11.2016
02:07:29
Тогда придётся сделать внешний типо 99999999 в сек

Dmitry
03.11.2016
02:07:52
Ему можно запихать в стейт экспоненциально увеличивающийся интервал времени

Can
03.11.2016
02:07:56
Просто нужен внешний неубиваемый воркер и проблема решится

Страница 163 из 1045