Files
drhider/History/code-fixes/2026-08-24-pull-retry-limit-counter.md
T

2.0 KiB

v0.0.72 — Ретраи pull, корректная ошибка лимита, счётчик дедупа (2026-08-24)

code-fixes. По итогам код-ревью (см. infra/2026-08-24-upload-logic-schema.md).

1. Ретраи pull (site/routes/api_bp.py, upload_refs)

  • PULL_RETRIES = 3, PULL_RETRY_DELAY = 2 (сек).
  • Pull из ВМ-буфера теперь в цикле: при любой ошибке (DNS gaierror -5, сеть) — до 3 попыток с паузой 2с. После исчерпания — проброс исходной ошибки (502 «Pull failed»).
  • Закрывает инцидент 18:42 (разовый DNS-сбой ронял всю загрузку).

2. Корректная ошибка лимита сессии (upload_refs)

  • add_file возвращает False и для «сессия исчезла», и для «превышен лимит 500МБ».
  • Теперь: при False — если get_files(sid) is None → 404 «Session not found»; иначе (лимит) → файл пропускается (delete с ВМ) и загрузка продолжается. Раньше оба случая давали ложное «Session not found».

3. Счётчик «Добавлено из папки» (site/templates/index.html)

  • addFileWithDedup теперь возвращает true (файл добавлен) / false (дедуп).
  • added++ только при true — дубли больше не завышают счётчик.
  • Проверено: папка [Договор.txt, Договор.txt (дубль), Акт.txt] → «Добавлено из папки: 2 файла».

Проверка

  • node --check — OK, py_compile (app.py, api_bp.py) — OK.
  • Локально: счётчик дедупа работает (2 файла при одном дубле).
  • Ретраи/лимит — на проде после деплоя.
  • Версия 0.0.71 → 0.0.72.