Служебные эндпоинты¶
GET /healthz¶
Проверка живости, которую используют HEALTHCHECK в Docker, compose и
балансировщики нагрузки.
Она не обращается ни к t.me, ни к Redis, поэтому остаётся зелёной, даже когда
источник недоступен, — сам API в этом случае деградирует плавно (при сбое
Redis работает «без кэша», при сбое t.me затронутые запросы получают 503).
GET /¶
Стартовая страница: что это за сервис, блок Попробуйте, который вызывает
GET /v1/body/{channel} прямо из браузера, состояние экземпляра (здоровье,
версия, включённые функции) и ссылки на документацию, справочник API, GraphQL
и исходный код. Если сервер требует
доказательство работы, браузер решает его перед
запросом в Web Workers. Старые ссылки на Swagger UI, который раньше был здесь
(/#/Channel/...), перенаправляются на /api.
GET /api¶
Swagger UI для интерактивного изучения /openapi.json. С
ENABLE_POW Try it out решает
доказательство работы для каждого запроса.
GET /openapi.json¶
Описание API в формате OpenAPI 3.1, подходящее для генераторов клиентов.
GET /docs/¶
Эта документация: на английском по /docs/, на испанском по /docs/es/, на
русском по /docs/ru/. Docker-образ содержит её, собранную для префикса
/docs/, поэтому она работает с одним docker run или compose, без
обратного прокси, и всегда соответствует версии, которая её отдаёт
(DOCS_SITE_DIR). Канонические ссылки
относительны экземпляра. Страницы кэшируются на 10 минут, ресурсы с хешем
содержимого в имени — на год.
Без сборки (установка из исходников) /docs/… перенаправляет на ту же
страницу на https://koval01.github.io/telegram-me/.
GET /robots.txt, GET /sitemap.xml¶
robots.txt разрешает поисковым роботам читать страницы и документацию,
закрывает от них /v1/ и /graphql и указывает на карту сайта.
sitemap.xml перечисляет стартовую страницу, /api и каждую страницу
документации на каждом языке, с переводами как альтернативами hreflang. Её
URL абсолютные, на основе PUBLIC_URL.
DISABLE_DOCS=true убирает /, /api,
/openapi.json, /docs/ и /sitemap.xml; robots.txt тогда запрещает всё.
GET /static/{path}¶
Стили, скрипты и значок стартовой страницы и справочника API, а также
hello.txt, который некоторые развёртывания используют для проверки
доступности.
Метрики¶
Если задан METRICS_PORT, granian
отдаёт метрики Prometheus на этом порту по пути /metrics (обновляются
каждые 15 с), например:
| Метрика | Значение |
|---|---|
granian_requests_handled |
Обработанные запросы по воркерам |
granian_connections_active, granian_connections_handled, granian_connections_err |
Счётчики соединений |
granian_py_wait_cumulative |
Время ожидания цикла событий Python |
granian_workers_spawns, granian_workers_respawns_for_err, granian_workers_respawns_for_rss |
Жизненный цикл воркеров |
granian_worker_lifetime |
Секунды с момента запуска каждого воркера |
Привязывайте его к внутреннему интерфейсу: слушатель метрик использует
HOST.