openspec: архив nats-files-subjects (#77)
Change слит PR #78; спеки обновлены (subject'ы files.tabular_uploaded, files.img_uploaded, files.tabular_parsed). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_012vJkmBGKKqMoEMzvsXG3y2
This commit is contained in:
parent
f0e611821f
commit
e08a69e3e1
@ -16,7 +16,7 @@
|
||||
|
||||
#### Scenario: Публикация запроса парсеру
|
||||
- **WHEN** в `recognition_job` вставлена строка `queued` с `pipeline = tabular`, связанная со `stored_file` (XLSX) и его `s3_object`
|
||||
- **THEN** в течение 10 с в `recognition.tabular.request` появляется сообщение, проходящее схему запроса, с `job_id`,
|
||||
- **THEN** в течение 10 с в `files.tabular_uploaded` появляется сообщение, проходящее схему запроса, с `job_id`,
|
||||
`file_id`, `s3.key` исходника, `reply_deadline`, `attempt = 1`, а строка переходит в `published` с заполненным `request_msg_id`
|
||||
|
||||
#### Scenario: NATS недоступен
|
||||
@ -24,7 +24,7 @@
|
||||
- **THEN** задание остаётся `queued`, ошибка залогирована, следующий цикл повторяет публикацию
|
||||
|
||||
### Requirement: Ack сервиса переводит задание в `processing`
|
||||
Получив в `recognition.result` конверт со `status = processing` для задания в `published`, ядро SHALL установить
|
||||
Получив в `files.tabular_parsed` конверт со `status = processing` для задания в `published`, ядро SHALL установить
|
||||
`status = processing`, `started_at`, `service_name`, `service_version` и перевести файл задания в
|
||||
`stored_file.status = PROCESSING`, если `current_recognition_job_id` файла равен этому заданию. Повторный ack для
|
||||
задания в `processing` SHALL игнорироваться; ack для задания в другом статусе SHALL логироваться и не менять задание.
|
||||
@ -91,7 +91,7 @@
|
||||
|
||||
### Requirement: Соединение с NATS по шаблону, без JetStream
|
||||
Ядро SHALL подключаться к NATS с nkeys-seed и JWT, если заданы `OPENBAO__NATS__NATS_SEED/NATS_JWT`, и без учётных данных,
|
||||
если они пусты; подписываться на `recognition.result` в queue group `arm-core`; переподключаться автоматически.
|
||||
если они пусты; подписываться на `files.tabular_parsed` в queue group `arm-core`; переподключаться автоматически.
|
||||
Stream'ы и consumer'ы JetStream MUST NOT требоваться. Фоновые задачи SHALL запускаться при `NATS_ENABLED=true`.
|
||||
|
||||
#### Scenario: Dev-окружение compose
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user