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

Всем привет Кто-то пользовался gqlgen? Если да, то можно ли там

каким-либо образом перехватывать панику?

И ещё вопрос по dig.Container - кто-то реализовывал асинхронную загрузку в контейнер? Имею ввиду что можно ли как-то сделать так, чтобы перед вызовом invoke все provide точно отработали?

4 ответов

8 просмотров

в gqlgen есть Recover middleware, который по дефолту логирует ошибку и возвращает в ответе, если нужное кастомное поведение перехвата - имплементь свою мидлварю ну из коробки асинхронного инита там нет, можно что-то такое накостылять var wg sync.WaitGroup // async init wg.Add(1) go func() { defer wg.Done() // do init }() wg.Wait() err := container.Invoke(func(/* dependecies */) { // … }) если ты об этом спрашивал конечно, но смысла от этого мало

Artem-Sadikov Автор вопроса
Данил
в gqlgen есть Recover middleware, который по дефол...

Я кстати может не понимаю до конца, но почему мидлвары такие не идут встроено? Есть какие-то случаи когда нужно выкидывать панику и ложить все?

Artem Sadikov
Я кстати может не понимаю до конца, но почему мидл...

ну паника это вообще не норм в сервисе и непонятно как на нее реагировать, обычно все этот recover реализуют по-разному, хоть и где-то есть base-recover

Artem Sadikov
Я кстати может не понимаю до конца, но почему мидл...

Да. Лучше упасть зачастую, чем закорраптить данные. Все эти рековер делают зачастую хуже - замалчивают проблему и потом удивляешься, уже читая логи. А падение не сташно, оркестратор тебя перезапустит

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

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

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта