
Kirill
27.05.2018
18:20:37

Мерлин
27.05.2018
18:21:07

Sergey
27.05.2018
18:21:12
-> возвращаем числа в качестве ошибок

Google

Dmitry
27.05.2018
18:21:25

Sergey
27.05.2018
18:21:39

Dmitry
27.05.2018
18:21:55
строка для пользователя , тип для машины

Sergey
27.05.2018
18:22:04

Мерлин
27.05.2018
18:22:09

Sergey
27.05.2018
18:22:12
в Си с испокон веков так делают)

Dmitry
27.05.2018
18:22:22

Мерлин
27.05.2018
18:22:38

Dmitry
27.05.2018
18:22:56
или ты такой - ой у меня транзакция отвалилась посередине - мне надо начать с места где она отвалилась ?

Sergey
27.05.2018
18:23:11

Dmitry
27.05.2018
18:23:13
нет, ты перестартуешь всю транзакцию все равно

Daniel
27.05.2018
18:23:42
кстати надо заиспользовать )
я использовал однажды. когда у меня данные с кластера на кластер ехали, 418 от нового означало "у меня нет, глянь на старом"

Dmitry
27.05.2018
18:23:52

Google

Мерлин
27.05.2018
18:23:54
пожалуйста, расскажи )

Sergey
27.05.2018
18:24:29

Kirill
27.05.2018
18:24:36

Sergey
27.05.2018
18:24:48

Dmitry
27.05.2018
18:24:57

Мерлин
27.05.2018
18:25:14
бью фронтендера ногами и использую инкапсуляцию
бью маркетолога ногами и использую наследование

Sergey
27.05.2018
18:25:16
и что пользователь сделает?)

Мерлин
27.05.2018
18:25:22
словарь универсальных ответов

Dmitry
27.05.2018
18:25:46
если метод который поднимает конкретный сервер не смог запустить его, то родительский метод темболее не сможет запустить его

Sergey
27.05.2018
18:25:54
и сам поймёт, какие не запустились, и запустит вручную просто

Kirill
27.05.2018
18:26:21

Мерлин
27.05.2018
18:26:22

Dmitry
27.05.2018
18:26:31

Sergey
27.05.2018
18:26:38

Мерлин
27.05.2018
18:27:09

Google

Sergey
27.05.2018
18:27:17
а для разных машин разные?

Dmitry
27.05.2018
18:27:48
окей. думаете умные ? давайте мне ваш алгоритм действий для этого случая

Мерлин
27.05.2018
18:28:24
а для разных машин разные?
очевидно что нужно делать одну ошибку если 1 машина поднялась, а две нет, другую — если 2 машины поднялись, а 1 нет, а третью — если все три мертвы

Тарас
27.05.2018
18:28:59

Kirill
27.05.2018
18:29:22

Daniel
27.05.2018
18:29:54

Sergey
27.05.2018
18:30:10

Kirill
27.05.2018
18:31:17
Если вы все делаете правильно, то не стартанут или все тачки, или стартанут все, в рамках одного работающего ДЦ

Sergey
27.05.2018
18:31:33

Daniel
27.05.2018
18:32:11

Kirill
27.05.2018
18:32:32

Мерлин
27.05.2018
18:32:45
окей. думаете умные ? давайте мне ваш алгоритм действий для этого случая
если со стороны какого-нибудь "поднимателя сервисов", то примерно такЖ
делаю запрос
если таймаут — делаю ретрай с задержками
если сдох токен — иду за новым
если невалидный квери или форма — отдать пользователю
если скажем закончились какие-нибудь порты на опредёлнном хосте — выбираю другой хост
закончились деньги — лезу на биллинг
и т.д.

Мерлин
27.05.2018
18:33:00
а ведь в моём случае есть ещё и десктопный клиент на го

Kirill
27.05.2018
18:33:01

Мерлин
27.05.2018
18:33:15
где нужно обрабатывать вообще всё это, а не сабсет
поднятие виртуалок — как раз это
дорого

Dmitry
27.05.2018
18:34:15

stixlink
27.05.2018
18:34:23
Всем привет! подскажите, пожалуйста, как организовываются миграции бд в go? моету кого статья есть про организацию миграций в го?

Google

jack
27.05.2018
18:37:26
Предлагаю заострить внимание на эталоне некой системы. Про любой ошибке пользователь лишь информируется о статусе - продолжить нельзя вовсе, или требуется подождать время Х потому-то.

Мерлин
27.05.2018
18:37:28
и не надо рассказывать про HTTP коды, они не всегда, даже скорее редко отображаются на бизнес логику

Dmitry
27.05.2018
18:39:58

Sergey
27.05.2018
18:40:23
так а зачем вообще строка?

Dmitry
27.05.2018
18:40:32
чтобы выкинуть панику с ней

Sergey
27.05.2018
18:40:47
просто берём число, маппим его по hashmap, получаем описание ошибки
число парсится машиной, строка пользователем
все довольны

Admin
ERROR: S client not available

Мерлин
27.05.2018
18:41:04
так а зачем вообще строка?
число тоже не нужно
очевидно что пользователю нужно знать только о наличии ошибки, остальное — детали реализации

Dmitry
27.05.2018
18:41:19
стектрейс например откуда возьмешь ?

Daniel
27.05.2018
18:41:20
коллеги
это

Sergey
27.05.2018
18:41:39

Daniel
27.05.2018
18:41:43
все же все поняли про позиции друг друга

Sergey
27.05.2018
18:41:55

Dmitry
27.05.2018
18:42:13

Sergey
27.05.2018
18:42:28

Google

Sergey
27.05.2018
18:42:29
ладно

Dmitry
27.05.2018
18:42:50

Sergey
27.05.2018
18:43:16

Dmitry
27.05.2018
18:43:38

Sergey
27.05.2018
18:43:41
ааааа
как же я сразу-то не понял!!!!!!
(сорри, надоело)

Dmitry
27.05.2018
18:43:57
тупенький наверно
:)

Sergey
27.05.2018
18:44:15
получается так

Dmitry
27.05.2018
18:46:21
смотрите - я вижу только один случай когда вам действительно нужно что то кроме ошибки и строки с ошибкой - тот случай когда ваш метод не является инициатором ошибки
тоесть в вашем случае это тот мифический обработчик ошибок который принимает сообщения от всего интернета

Daniel
27.05.2018
18:47:35
коллега
вы нам очевидное растолковываете
но
все мы для своих проектов пишем расширенные структуры для ошибок
и мы знаем, чего нам не хватает в стандартной ошибке

Dmitry
27.05.2018
18:48:39
можно хоть одну такую структуру поглядеть - если не NDA конечно?

jack
27.05.2018
18:49:56
Ошибка это костыль вызванный неумением в общем случае передать контекст выполнения от места получения до места устранения

Sergey
27.05.2018
18:50:28
> контекст выполнения от места получения до места устранения
кажется вы частично написали определение ошибки

Daniel
27.05.2018
18:51:35

Dmitry
27.05.2018
18:51:42