Как стать автором
Обновить

Комментарии 6

О, а расскажите, как правильно готовить экспоненциальные таймауты — когда слать аларм, как их сбрасывать и все такое?


Потому что, скажем, кривая процедура бэкапа в вотсапе не всегда позволяет восстановить его с первого раза. А возрастающий таймаут (после регистрации нового устройтсва растет время до повторного смс-подтверждения) быстро превращает эту процедуру в небольшой филиал ада. Мой личный рекорд таймаута — что-то вроде 80 часов.

Можно определить разумный максимальный размер тайм-аута и захардкодить его (=threshold). В конце алгоритма экспоненциального увеличения тайм-аута сверять получившееся значение с threshold и не допускать чтобы в качестве тайм-аута использовалось значение больше, чем threshold.

И конечно же нужно ограничивать кол-во попыток.

сложноисследуемые баги на продакшене (например, часть сообщений в очереди теряется из-за того, что её начинает читать тестовое окружение).

В своё время куча нервов была убита на то, чтобы понять, почему на работающем сервере, на котором несколько месяцев не было изменений, перестала работать очередь. Точнее 90% задач не доходили до воркера. Разгадка крылась в том, что кто-то запустил рядом машину со старой (древней) версией, которую вообще надо было давно удалить.

После этого случая, вы изменили что-то в процессах / технологиях?

Нет, к сожалению. Проект уже давно был даже не на поддержке, а просто жил своей жизнью
Зарегистрируйтесь на Хабре, чтобы оставить комментарий