c920d3bcd5c3a08cbe8c30c327ff778db9d37445
Проблема: одна и та же тема из blog_topics использовалась несколько раз (см. 7 дублей в БД). Причина: getNextTopic читал is_used=false, возвращал тему, но помечал её использованной только ПОСЛЕ INSERT статьи (через 30-60 сек пока AI генерирует текст). За это время повторный запуск видел ту же is_used=false и выбирал её снова. Фикс: атомарная операция UPDATE...RETURNING с FOR UPDATE SKIP LOCKED — тема помечается is_used=true В МОМЕНТ ВЫБОРА, до вызова AI. Параллельные или повторные запуски видят is_used=true и пропускают тему. Дополнительно: fallback TOPIC_BANK теперь перемешивает пул случайно (вместо Math.random() на весь массив) — более равномерное распределение.
zeropost-engine
ZeroPost - zeropost-engine
Description
Languages
JavaScript
100%