1ced06fa2d20dd32e10b2e6174275772f51d02df
Race condition (дубли статей) устранён окончательно: 1. pg_advisory_lock по ключу категории в начале runAutogenForCategory — если два процесса запускаются одновременно, второй ждёт первого. pg_advisory_unlock в finally — освобождается всегда, даже при ошибке. 2. После получения lock — повторная проверка 'уже генерировали сегодня' (SELECT articles WHERE category AND created_at >= CURRENT_DATE). Если да — skip без генерации. Это защита от случая когда первый процесс завершился пока второй ждал lock. 3. draftAutoApprove catch-up при старте: если engine стартовал после 07:00 и есть непрогнанные вчерашние черновики — одобряет их сразу. Раньше deploy в 07:27 приводил к тому что черновики зависали навсегда.
zeropost-engine
ZeroPost - zeropost-engine
Description
Languages
JavaScript
100%