Код Middle Деплой и эксплуатация обновлено
Liveness и readiness по состоянию зависимостей
Условие
Напишите health(state): state содержит started (приложение инициализировано), shutting_down (получен SIGTERM), db и redis ("ok" или "down"), redis_required (нужен ли Redis для обслуживания). Верните {"live": код, "ready": код} с HTTP-кодами 200 или 503. Liveness: 200, если приложение запущено (от зависимостей не зависит). Readiness: 200, только если приложение запущено, не завершается, база доступна и, если Redis обязателен, Redis доступен.
Примеры
health({"started":true,"shutting_down":false,"db":"ok","redis":"ok","redis_required":true}) // {"live":200,"ready":200}
health({"started":true,"shutting_down":false,"db":"down","redis":"ok","redis_required":true}) // {"live":200,"ready":503}
health({"started":false,"shutting_down":false,"db":"ok","redis":"ok","redis_required":false}) // {"live":503,"ready":503}
Как подойти
Подсказки: 2
- Liveness только от
started. - Во время завершения readiness отвечает 503.
Решите в тренажёре
Редактор с автотестами прямо в браузере. Можно решить спокойно, вслух или под таймером, как на собесе.