feat: introduce new feature with database persistence and refine cancel event resolution logic.

This commit is contained in:
2026-03-11 16:50:52 +08:00
parent 0d8756ebab
commit 14def62d3b

View File

@@ -502,11 +502,10 @@ async def generate_project(project_id: int, user: User, db: Session, chapter_ind
if not project: if not project:
return return
# Resolve cancel event: use explicit one, or fall back to global _cancel_events # Resolve cancel event: use explicit one (from batch), or create a fresh one for this run
if cancel_event is None: if cancel_event is None:
if project_id not in _cancel_events: cancel_event = asyncio.Event()
_cancel_events[project_id] = asyncio.Event() _cancel_events[project_id] = cancel_event
cancel_event = _cancel_events[project_id]
try: try:
if chapter_index is None: if chapter_index is None: