docs: документация переведена на канон av-dev-pm
- беклог и план переехали в docs/tasks (38 задач, 11 целей), слаги переименованы с транслита на английские, 85 ссылок поправлены - conventions.md разобран в docs/conventions/, local-research.md — в docs/research/, review-journal.md — в docs/review.md с разделом настройки конвейера; заведены security.md, adr/ и .pm.json - шаг docs.py check добавлен в task gate; поведение в architecture.md помечено девятью маркерами долга, database.md получил настройки с числовым значением
This commit is contained in:
@@ -279,7 +279,7 @@ received_at > ? OR (received_at = ? AND id > ?) → SCAN … COVERING INDEX d
|
||||
отвечать `200`.
|
||||
|
||||
Числа — текущая длина `pending`, возраст самой старой неразобранной доставки —
|
||||
это `/stats`, и они уезжают строкой в задачу `stats-nablyudaemost`. Здесь их
|
||||
это `/stats`, и они уезжают строкой в задачу `stats-endpoint`. Здесь их
|
||||
нет намеренно: отдельного механизма счётчиков в проекте пока не существует.
|
||||
|
||||
### 6. Частичный индекс по неразобранным доставкам
|
||||
@@ -388,7 +388,7 @@ write_timeout)`. Тогда `/healthz` и будущий Read API сохраня
|
||||
- **Задолженность после рестарта разбирается не мгновенно** → 116 тел живого
|
||||
архива это порядка минуты работы воркера; всё это время витрина неполна.
|
||||
Названо `INFO`-строкой при старте. `/healthz` этого не отражает — он статичен;
|
||||
отражать будет `/stats`, задача `stats-nablyudaemost`.
|
||||
отражать будет `/stats`, задача `stats-endpoint`.
|
||||
- **Второй процесс на той же базе даёт двух воркеров** → «одна горутина» —
|
||||
свойство процесса, а не файла базы. Порчи витрины ждать не приходится
|
||||
(`_txlock=immediate` и повтор транзакции сериализуют слияние), но наследование
|
||||
@@ -401,7 +401,7 @@ write_timeout)`. Тогда `/healthz` и будущий Read API сохраня
|
||||
только то, что параллельность стала штатной. `busy_timeout`,
|
||||
`_txlock=immediate` и повтор транзакции уже есть, а исчерпание повторов теперь
|
||||
не стирает доставку с полки (решение 4б). Наблюдение за этим — задача
|
||||
`cena-sliyaniya-na-shirokoj-dostavke`.
|
||||
`merge-cost-wide-delivery`.
|
||||
- **Тик даёт проход раз в минуту при пустой очереди** → это один запрос по
|
||||
покрывающему частичному индексу, в котором ноль строк. Цена измеримо нулевая,
|
||||
а без него состояние «работа есть, прогресса нет» невидимо.
|
||||
|
||||
@@ -40,7 +40,7 @@
|
||||
быстрого прохода, и одна строка `INFO` о размере задолженности при старте.
|
||||
Метка считается на выборке прохода, а сам проход будит не только сигнал, но и
|
||||
тик — иначе «работа есть, прогресса нет» неотличимо от пустого потока.
|
||||
Счётчики в `/stats` — задача `stats-nablyudaemost`, здесь только метки в логе.
|
||||
Счётчики в `/stats` — задача `stats-endpoint`, здесь только метки в логе.
|
||||
- Убирается второй, оставшийся источник молчаливого обрыва: общий `write_timeout`
|
||||
(30 с) меньше `read_timeout` (5 мин), а он покрывает и чтение тела — то есть
|
||||
медленная загрузка 64 МиБ обрывается независимо от свёртки. Длинный бюджет
|
||||
|
||||
@@ -141,7 +141,7 @@
|
||||
не память; порядок журнала и остановка; классификация «отказ доставки»
|
||||
против «отказ обстоятельств»; бюджет ответа маршрута приёма; отвергнутые
|
||||
варианты с причинами.
|
||||
- [x] 9.2 Строка в задачу беклога `stats-nablyudaemost`: длина `pending`,
|
||||
- [x] 9.2 Строка в задачу беклога `stats-endpoint`: длина `pending`,
|
||||
возраст самой старой неразобранной доставки и то, что `/healthz` их не
|
||||
отражает.
|
||||
|
||||
@@ -177,4 +177,4 @@
|
||||
разбора, добавлен класс «отложено».
|
||||
- [x] 10.11 Остаточный предел порядка при конкурентных приёмах назван в спеке и
|
||||
в `docs/architecture.md`, вынут блокером
|
||||
(`docs/backlog/poryadok-zhurnala-na-priyome.md`).
|
||||
(`docs/tasks/items/journal-order-on-ingest.md`).
|
||||
|
||||
Reference in New Issue
Block a user