# Настройка OCR Status Tracking в n8n ## Шаги для добавления нод в workflow `fnSo3FTTbQcMjwt3` ### 1. Открой workflow в n8n https://n8n.clientright.pro/workflow/fnSo3FTTbQcMjwt3 ### 2. Добавь ноды в следующем порядке: #### Нода 1: `update_ocr_status` (PostgreSQL) **Расположение:** После `Postgres PGVector Store1` **Позиция:** [3850, 1664] **SQL запрос:** ```sql UPDATE clpr_claim_documents SET ocr_status = 'ready', ocr_processed_at = NOW() WHERE id = '{{ $('files').item.json.claim_document_id }}'::uuid RETURNING id AS doc_id, claim_id, ocr_status, (SELECT COUNT(*) FROM clpr_claim_documents WHERE claim_id = clpr_claim_documents.claim_id) AS total_docs, (SELECT COUNT(*) FROM clpr_claim_documents WHERE claim_id = clpr_claim_documents.claim_id AND ocr_status = 'ready') AS ready_docs; ``` **Credentials:** `timeweb_bd` (Postgres account 2) --- #### Нода 2: `redis_incr_ready` (Redis) **Расположение:** После `update_ocr_status` **Позиция:** [4100, 1664] **Параметры:** - Operation: `incr` - Key: `claim:ocr:ready:{{ $json.claim_id }}` **Credentials:** `Redis account` --- #### Нода 3: `check_all_ready` (IF) **Расположение:** После `redis_incr_ready` **Позиция:** [4350, 1664] **Условие:** ``` {{ $('update_ocr_status').item.json.total_docs }} == {{ $('update_ocr_status').item.json.ready_docs }} ``` --- #### Нода 4: `publish_docs_ready` (Redis) **Расположение:** TRUE выход из `check_all_ready` **Позиция:** [4600, 1550] **Параметры:** - Operation: `publish` - Channel: `clpr:claim:docs_ready` - Message: ```javascript {{ JSON.stringify({ claim_id: $('update_ocr_status').item.json.claim_id, total_docs: $('update_ocr_status').item.json.total_docs, ready_docs: $('update_ocr_status').item.json.ready_docs, timestamp: new Date().toISOString() }) }} ``` **Credentials:** `Redis account` --- ### 3. Соединения (Connections) ``` Postgres PGVector Store1 → update_ocr_status update_ocr_status → redis_incr_ready redis_incr_ready → check_all_ready check_all_ready (TRUE) → publish_docs_ready check_all_ready (FALSE) → (конец) ``` ### 4. Сохрани и активируй workflow --- ## Проверка После добавления нод, при обработке документа: 1. Статус в `clpr_claim_documents.ocr_status` будет меняться на `'ready'` 2. Счётчик в Redis `claim:ocr:ready:{claim_id}` будет инкрементиться 3. Когда все документы готовы, событие `clpr:claim:docs_ready` будет опубликовано в Redis