Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Приложение A — Коды ошибок и close-коды

Таблица симптом → код → что делать. Полные контракты полей — в docs/api.md и docs/troubleshooting.md; эта страница — оглавление для поваренной книги.

Сначала пробы

ПроверкаОжиданиеГлава
GET /health200, model"loading" или имя головы01
GET /ready200 до первого audio / job04, 02
version в /healthсовпадает с развёрнутым бинарём/образом06

Liveness/health, readiness/ready; не гадайте по «порт открыт».

REST / SSE / jobs

HTTPCodeТипичная причинаЧто делать
400empty_bodyПустое тело POSTОтправьте байты аудио
400invalid_formatПлохой ?format=json / txt / srt / vtt / md02
400unsupported_codecПлохой ?codec=pcmu / pcma / g72203
400invalid_sample_rateНет/неверный rate с raw codecsample_rate=8000 или 1600003
400conflicting_modeschannels=split и diarization=trueВыберите одно — 03
403loopback_onlyНе-loopback POST /v1/admin/reloadВызов с 127.0.0.106
404(без body) / jobs_disabledJobs API выключен--enable-jobs02
404job_not_foundНеизвестный или истёкший jobСохраняйте результаты на клиенте — 02
409job_not_finishedResult слишком раноЖдите done / поллите status
409job_not_cancellableCancel на terminal jobИгнорируйте / считайте done
409reload_in_progressПараллельные admin reloadПодождите и повторите — 06
409punctuation_not_availableForce punctuation=true без моделиУстановите punct / auto07
413payload_too_largeТело > --body-limit-bytesПоднимите лимит или jobs — 02
422invalid_audioБитый/неподдерживаемый контейнерТаблица форматов — 03
422transcription_errorDecode ok, inference failedЛоги; INT8 на месте — 07
429rate_limitedBucket по IP пустRetry-After; лимиты / --trust-proxy06
429queue_fullJob store полонЗабирайте results / --jobs-max02
503timeoutПул насыщенBackoff; --pool-size07
503pool_closedShutdownПереподключение после деплоя — 06
503initializingМодель ещё грузитсяПоллите /ready01
503reload_failed / reload_unsupportedHot-reload не удалсяПочините файлы модели — 06
504inference_timeoutПрогон > --inference-timeout-secsПоднимите timeout — 02

WebSocket error codes

CodeСессияСмыслЧто делать
timeoutне открыласьCheckout пулаЖдите retry_after_ms04
pool_closedendsDrainReconnect после апгрейда — 06
idle_timeoutends (1001)Нет фреймовШлите PCM (тишина ок) — 04
max_session_duration_exceededends (1008)--max-session-secsReconnect; final уже сброшен — 04
policy_violationends (1008)Спам пустыми фреймамиНе шлите empty binaries
inference_timeoutendsИнференс чанка слишком долгийКороче аудио / timeout
inference_errorcontinuesПлохой chunkПочините клиент; сессия жива
inference_paniccontinues, state resetPanic изолированНовая фраза; старые final валидны
configure_too_latecontinuesconfigure после audioConfigure первым — 04
invalid_sample_ratecontinuesRate не из supported_ratesRate из ready
unsupported_protocol_versionendsНесовпадение протокола1.004

WebSocket close codes

CodeКогдаДействие клиента
1001 Going AwaySIGTERM drain, idle, ping timeoutReconnect; на shutdown ждите final
1008 Policy Violationmax session / empty spamCaps / поведение клиента
1009 Message Too BigФрейм > --ws-frame-max-bytesМеньше PCM-фреймы
1006 Abnormal ClosureНет close frameПроверьте процесс; сервер этот код не шлёт

Ссылки