Мерль
418 же)
кстати надо заиспользовать )
Антон
418 же)
Для пользователя монопенисуально
Cat
кстати надо заиспользовать )
чтобы фронтендерам не было скучно?
Kirill
чтобы фронтендерам не было скучно?
Я, как фулстэк, делаю весело всем)
Cat
пришло сообщение с типом ошибки и строка ошибки.
в таком случае достаточно просто типа ошибки, согласитесь
Cat
-> возвращаем числа в качестве ошибок
Dmitry
и потом парсить строку?
НАХУЙ? извините за мат
Cat
НАХУЙ? извините за мат
а зачем вообще строка тогда?)
Dmitry
строка для пользователя , тип для машины
Мерль
НАХУЙ? извините за мат
если у тебя запрос выполнился частично, то как узнать что пошло не так?
Cat
в Си с испокон веков так делают)
Мерль
по типу ошибки
у тебя есть скажем 16! комбинаций ошибок твои действия?
Dmitry
или ты такой - ой у меня транзакция отвалилась посередине - мне надо начать с места где она отвалилась ?
Dmitry
нет, ты перестартуешь всю транзакцию все равно
Daniel
кстати надо заиспользовать )
я использовал однажды. когда у меня данные с кластера на кластер ехали, 418 от нового означало "у меня нет, глянь на старом"
Dmitry
у тебя есть скажем 16! комбинаций ошибок твои действия?
бью архитектора ногами и использую полиморфизм
Мерль
или ты такой - ой у меня транзакция отвалилась посередине - мне надо начать с места где она отвалилась ?
"оу, вы там хотели поднять восемь сервисов, два запустились, один нетЭ
Мерль
Мерль
пожалуйста, расскажи )
Cat
как полиморфизм здесь поможет?
потому что священное ООП!
Kirill
в Си с испокон веков так делают)
Блэт Люди испокон веков самовыпиливаются, нам тоже нужно?
Мерль
бью фронтендера ногами и использую инкапсуляцию бью маркетолога ногами и использую наследование
Cat
и что пользователь сделает?)
Мерль
словарь универсальных ответов
Мерль
да. имено так и скажу пользователю
для этого тебе уже не подходит строковая ошибка
Dmitry
если метод который поднимает конкретный сервер не смог запустить его, то родительский метод темболее не сможет запустить его
Cat
для этого тебе уже не подходит строковая ошибка
да ладно, пользователь же распарсит глазами ошибку
Cat
и сам поймёт, какие не запустились, и запустит вручную просто
Kirill
Блэт Люди испокон веков самовыпиливаются, нам тоже нужно?
(это не призыв к действию, ответственность за неправильную трактовку не несу)
Мерль
да ладно, пользователь же распарсит глазами ошибку
дело не в этом, а в том, чтобы не делать ретрай/или отдавать 500 на неё
Dmitry
для этого тебе уже не подходит строковая ошибка
это почему ? "2 сервера стартануло, 6 нет, причины ошщибок дальше"
Cat
а для разных машин разные?
Dmitry
окей. думаете умные ? давайте мне ваш алгоритм действий для этого случая
Мерль
а для разных машин разные?
очевидно что нужно делать одну ошибку если 1 машина поднялась, а две нет, другую — если 2 машины поднялись, а 1 нет, а третью — если все три мертвы
inztar
Почему тут ещё не банят за слово «дженерики»?))
потому что это слово не существует
Daniel
Почему тут ещё не банят за слово «дженерики»?))
фил отвлекся на роскомпозор. это он жесткую политику проводил...
Kirill
Если вы все делаете правильно, то не стартанут или все тачки, или стартанут все, в рамках одного работающего ДЦ
Daniel
Если вы все делаете правильно, то не стартанут или все тачки, или стартанут все, в рамках одного работающего ДЦ
как минимум "кончились деньги" и "кончилась память" не зависят от того, правильно ли мы все делаем
Kirill
фил отвлекся на роскомпозор. это он жесткую политику проводил...
С такими темпами, я сегодня и продолжу его дело
Мерль
окей. думаете умные ? давайте мне ваш алгоритм действий для этого случая
если со стороны какого-нибудь "поднимателя сервисов", то примерно такЖ делаю запрос если таймаут — делаю ретрай с задержками если сдох токен — иду за новым если невалидный квери или форма — отдать пользователю если скажем закончились какие-нибудь порты на опредёлнном хосте — выбираю другой хост закончились деньги — лезу на биллинг и т.д.
Мерль
а ведь в моём случае есть ещё и десктопный клиент на го
Мерль
где нужно обрабатывать вообще всё это, а не сабсет
Мерль
Если вы все делаете правильно, то не стартанут или все тачки, или стартанут все, в рамках одного работающего ДЦ
это смотря как нас устраивает бывает что выполнить часть лучше чем ничего
Мерль
поднятие виртуалок — как раз это
Мерль
дорого
Alexandr
Всем привет! подскажите, пожалуйста, как организовываются миграции бд в go? моету кого статья есть про организацию миграций в го?
Anonymous
Предлагаю заострить внимание на эталоне некой системы. Про любой ошибке пользователь лишь информируется о статусе - продолжить нельзя вовсе, или требуется подождать время Х потому-то.
Мерль
Мерль
и не надо рассказывать про HTTP коды, они не всегда, даже скорее редко отображаются на бизнес логику
Dmitry
не достаточно тебе приходит часть этих ошибок по сети, и только часть из них умещается в строку
опять двадцать пять. высе ошибки что ты привел прекрасно описываются типом ошибки для машины и строкой для пользователя
Cat
так а зачем вообще строка?
Dmitry
чтобы выкинуть панику с ней
Cat
просто берём число, маппим его по hashmap, получаем описание ошибки
Cat
число парсится машиной, строка пользователем
Cat
все довольны
Мерль
так а зачем вообще строка?
число тоже не нужно очевидно что пользователю нужно знать только о наличии ошибки, остальное — детали реализации
Dmitry
стектрейс например откуда возьмешь ?
Daniel
коллеги
Daniel
это
Cat
число тоже не нужно очевидно что пользователю нужно знать только о наличии ошибки, остальное — детали реализации
не, для пользователя понятно, я про внутреннее представление ошибки — зачем тратить место на строку, если они всегда стандартные
Daniel
все же все поняли про позиции друг друга