Size: a a a

Боль Тимлида

2021 November 18

VF

Victor Fabrichenko in Боль Тимлида
Ну да, но у тебя может использоваться сразу несколько источников и они у тебя могут по разному отказать и ты по разному будешь обрабатывать.
источник

PD

Phil Delgyado in Боль Тимлида
Это если есть гарантии доставки. А без них - таки надо понимать, когда делать retry.
А в http оно сразу понятно.
источник

VF

Victor Fabrichenko in Боль Тимлида
Ну очевидно, что использовать исключения как в питоне в джаве не надо.
источник

PD

Phil Delgyado in Боль Тимлида
Так все равно, где проблема, реально вариантов ровно два - упасть или повторить.
источник

Ms

Mutko says in Боль Тимлида
А шо в питоне ктото глобальные хендлеры ставит?
источник

SG

Sergey Golikov in Боль Тимлида
Да все про то же, что для крудиков (coarse-grained) можно и restful использовать, если уж очень хочется. А когда application сервисы становятся более осмысленными, лучше rpc-like.
источник

VF

Victor Fabrichenko in Боль Тимлида
В одном случае поставить задачу в очередь ещё раз, в другом прекратить попытки, например.
источник

Ms

Mutko says in Боль Тимлида
Не обратно в очередь а в dlq
источник

VF

Victor Fabrichenko in Боль Тимлида
Если N библиотек и все выбрасывают исключения, но ты в зависимости от типа исключения можешь хотеть разного
источник

PD

Phil Delgyado in Боль Тимлида
Так я и говорю - ровно два типа реакции: повторить или упасть. И нужно ровно два типа исключений.
источник

Ms

Mutko says in Боль Тимлида
Пусть поспит, авось отожмется
источник

VF

Victor Fabrichenko in Боль Тимлида
Ну блин, у тебя будет исключений столько, сколько типов ресурсов и они должны быть разные, чтобы понять какой ресурс сбойнул
источник

VF

Victor Fabrichenko in Боль Тимлида
В зависимости от логики клиента может быть разная обработка исключений от разных источников
источник

PD

Phil Delgyado in Боль Тимлида
Неа, это же я в момент вызова понимаю.
Реально я разбор исключений по типу видел два раза и оба раза это была проблема биюлиотек.
Первый - это по вызову jdbc отличить constraints от прочих ошибок.
Второй - по сетевым ошибкам понять, дошло событие до получателя или нет.
источник

VF

Victor Fabrichenko in Боль Тимлида
Ну что мне теперь библиотеки переписывать вендорные?
источник

PD

Phil Delgyado in Боль Тимлида
Я бы сказал, что для крудиков проще сразу БД вытаскивать в сеть через apollo. Тогда сразу понятно, что это временное решение )
источник

PD

Phil Delgyado in Боль Тимлида
А у тебя реально такой кейс был? Когда ты по типу исключения определял, какой ресурс сбойнул и принимал решение?
источник

Ms

Mutko says in Боль Тимлида
Уикинул и забыл
источник

PD

Phil Delgyado in Боль Тимлида
Нет, обвязку сделать и не тащить фигню в бизнес-код.
источник

Ms

Mutko says in Боль Тимлида
Зачем говноподелия на поруки брать)
источник