169 похожих чатов

Привет! Я не очень опытен с эликсиром, возник затуп, надеюсь,

вы мне поможете)

У меня есть пул GenServer под управлением пуллбоя. Я хочу сделать graceful shutdown по sigterm. Проблема вот в чём - если на момент вызова terminate в инбоксе процесса есть какие-то сообщения - то они теряются. Есть ли какой-то способ в этот момент достать все сообщения, обработать, а потом уже выйти?

Или как вообще принято делать? Ничего внятного нагуглить не смог

9 ответов

10 просмотров

привет. как то можно было. я делал отлов события о завершении по сигналу с ОС.

в trrminate колбэке вызвать рекурсивный receive do m -> process(m) after 0 -> : ok end

Навскидку погуглил: https://github.com/botsquad/graceful_stop

unkmas- Автор вопроса
Ihor Katkov 🇺🇦
класс 👍

да это хреновый подход так-то) не должны сообщения в инбоксе копиться в идеале

Alexey Novoselov
в trrminate колбэке вызвать рекурсивный receive do...

Я даже боюсь представить что будет, если случайно внутри этого process посылаются сообщения на еще один подобный генсервер, который тоже заблочился в terminate

Źmićer Rubinštejn
Я даже боюсь представить что будет, если случайно ...

можно запустить другой процесс, который по истечении таймаута, сделает hard kill

Похожие вопросы

Обсуждают сегодня

Anyone here suffers from unexplained aural migraines, who would be up for talking for a bit? Doesn't *have* to be aural, but I am not asking about headaches, I mean actual mi...
Martin Rys
55
Привет, нужен совет старших товарищей. Есть глобальная переменная var DefaultDataFolder:string; инициализируем DefaultDataFolder:='a:\_OUT\'; есть примитивная процедур...
Max Otto
14
Вопрос. Теоретический. Есть список команд. Команды отправляю в обработку некой функции, по очереди. Разные команды могут давать разные результаты после обработки. В зависимос...
Serjone
7
Всем вечера. Подскажите как лучше сделать. делаю на Д10 Например будет база данных на SQLite. в ней будет много таблиц. более 50шт Типа справочник. Содержать ID Name Id p...
Андрей Т 🐎
10
Я короче решил скомпилировать Nim в js, я думал он сработает как обычный транслятор. По итогу он мне создал файл с расширением js, и туда поместил кучу кода Вопрос, что это з...
𝕾𝖍𝖆𝖉𝖊 <suspense>
9
я не магистр хаскеля, но разве не может лейзи тип конвертнуться в не-лейзи запросив вычисление содержимого прям при инициализации?
deadgnom32 λ madao
100
подскажите пожалуйста, как мне освободить результат записанный в переменную result? в чем проблема подскажите если МОЖЕТЕ?
Михаил Helper
28
это группа токсиков или тех кто помогает?
Ибрагим
9
мы пытаемся подменить функцию, которая имеет меньше инструкций относительно функции, которой подменяем. https://www.reddit.com/r/jailbreakdevelopers/comments/w06ujy/mshookfun...
Óðinn
6
У кого-нибудь есть под рукой функция кодирования юникода, которая из фразы На русском сделает \u041d\u0430\u0020\u0440\u0443\u0441\u0441\u043a\u043e\u043c ?
Daniil Smolyakov
7
Карта сайта