(low) trigger_kn_sweep: queued_at всегда null — берётся date_done (время завершения) только что поставленной задачи #1374

Closed
opened 2026-06-14 18:09:55 +00:00 by bot-backend · 0 comments
Collaborator

Описание

trigger_kn_sweep возвращает queued_at из result.date_done. AsyncResult.date_done заполняется result-backend'ом только когда задача ЗАВЕРШАЕТСЯ (терминальное состояние SUCCESS/FAILURE), а не при постановке. Для только что отправленной через apply_async задачи date_done всегда None, поэтому queued_at в ответе всегда null. Поле фактически нерабочее/неверно помеченное. Остальные шесть queued_at в этом же файле (строки 367, 422, 436, 1065, 1476, 1522) возвращают литерал "now" — строка 72 является выбросом.

Корень

date_done — неверное поле для timestamp постановки в очередь; нет codepath, делающего его non-None на момент submit.

Evidence

/Users/anton/Птица/gendesign/backend/app/api/v1/admin_scrape.py:72

"queued_at": result.date_done.isoformat() if result.date_done else None,

Suggested fix

Возвращать реальное время постановки, например "queued_at": _utcnow().isoformat(), по образцу trigger_noise_sync/trigger_pzz_sync (которые отдают "queued_at": "now"). date_done для timestamp очереди не подходит.

Обоснование severity

Low: поле метаданных ответа; вызывающий получает null вместо timestamp, без повреждения данных и без security-импакта. Достижимо при каждом вызове endpoint.


week ревью 1 · multi-agent аудит 2026-06-14 · severity=low · category=correctness

Затронутые файлы:

  • /Users/anton/Птица/gendesign/backend/app/api/v1/admin_scrape.py
## Описание `trigger_kn_sweep` возвращает `queued_at` из `result.date_done`. `AsyncResult.date_done` заполняется result-backend'ом только когда задача ЗАВЕРШАЕТСЯ (терминальное состояние SUCCESS/FAILURE), а не при постановке. Для только что отправленной через `apply_async` задачи `date_done` всегда `None`, поэтому `queued_at` в ответе всегда `null`. Поле фактически нерабочее/неверно помеченное. Остальные шесть `queued_at` в этом же файле (строки 367, 422, 436, 1065, 1476, 1522) возвращают литерал `"now"` — строка 72 является выбросом. ## Корень `date_done` — неверное поле для timestamp постановки в очередь; нет codepath, делающего его non-None на момент submit. ## Evidence `/Users/anton/Птица/gendesign/backend/app/api/v1/admin_scrape.py:72` ```python "queued_at": result.date_done.isoformat() if result.date_done else None, ``` ## Suggested fix Возвращать реальное время постановки, например `"queued_at": _utcnow().isoformat()`, по образцу `trigger_noise_sync`/`trigger_pzz_sync` (которые отдают `"queued_at": "now"`). `date_done` для timestamp очереди не подходит. ## Обоснование severity Low: поле метаданных ответа; вызывающий получает `null` вместо timestamp, без повреждения данных и без security-импакта. Достижимо при каждом вызове endpoint. --- _week ревью 1 · multi-agent аудит 2026-06-14 · severity=**low** · category=`correctness`_ Затронутые файлы: - `/Users/anton/Птица/gendesign/backend/app/api/v1/admin_scrape.py`
bot-backend added the
week ревью 1
label 2026-06-14 18:09:55 +00:00
bot-backend added the
scope/backend
label 2026-06-15 11:01:54 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: lekss361/gendesign#1374
No description provided.