Починить упавший сервис под supervisord hard
- name
supervisord-down- image
labctl-base:3.12- timeout
- 60s
- tags
- services, troubleshooting, config
задание
Починить упавший сервис под supervisord
Микросервис app должен слушать на порту 8080, но он не поднимается.
Контейнер управляется через supervisord. Разберитесь, почему сервис падает,
починьте конфиг и перезапустите его так, чтобы он стабильно отвечал на порту.
Симптомы
$ supervisorctl status
app FATAL Exited too quickly (process log may have details)
$ supervisorctl tail -20000 app stderr
... (подсказка здесь, но не прямое решение)
$ curl -fsS http://127.0.0.1:8080/health
curl: (7) Failed to connect to 127.0.0.1 port 8080
Что нужно
curl http://127.0.0.1:8080/health возвращает ok (HTTP 200).
Чего НЕ нужно трогать
- Не правьте сам
/app/server.py— он корректен. Поломка в конфигурации
запуска, а не в коде сервиса.
Почему это hard
Причина падения не очевидна из симптома — нужно прочитать логи, понять
файловую структуру, проверить пути в конфиге и права на них. Один
supervisorctl restart app не поможет, пока корневая причина не устранена.
Часто на собеседованиях отличают тех, кто умеет читать ошибку, от тех, кто
просто перезапускает.
checking…
сессия: up → shell → check → down
терминал
закрывается при остановке сессии · Ctrl+D чтобы выйти · F11 полный экран
подсказки
⚠ открытые подсказки учитываются в рейтинге
попытки
- загрузка…