mirror of
https://github.com/comfyanonymous/ComfyUI.git
synced 2026-03-20 22:27:52 +08:00
Change _lock from Lock to RLock and move the start_enrich call inside the lock-held block so that enqueue_enrich cannot interleave between clearing _pending_enrich and starting the enrichment scan. This prevents a concurrent enqueue_enrich from stealing the IDLE slot and causing the drained payload to be silently dropped. Add tests covering: - pending enrich runs after scan completes - enqueue during drain does not lose work - concurrent enqueue during drain is queued for the next cycle Amp-Thread-ID: https://ampcode.com/threads/T-019cfe02-5710-7506-ae80-34bf16c0171a Co-authored-by: Amp <amp@ampcode.com>