Fix: Initialize first_stage_tasks and entity_relation_task to prevent empty-task cancel errors

- Initialize first_stage_tasks = [] and entity_relation_task = None at coroutine start
- Ensure cancel block safely handles no-op when tasks lists are empty
This commit is contained in:
yangdx 2025-08-10 10:45:41 +08:00
parent ffb642a5ce
commit eb2320e556

View file

@ -1229,6 +1229,8 @@ class LightRAG:
async with semaphore:
nonlocal processed_count
current_file_number = 0
first_stage_tasks = []
entity_relation_task = None
try:
# Get file path from status document
file_path = getattr(
@ -1348,15 +1350,15 @@ class LightRAG:
)
pipeline_status["history_messages"].append(error_msg)
# Cancel tasks that are not yet completed
all_tasks = first_stage_tasks + (
[entity_relation_task]
if entity_relation_task
else []
)
for task in all_tasks:
if task and not task.done():
task.cancel()
# Cancel tasks that are not yet completed
all_tasks = first_stage_tasks + (
[entity_relation_task]
if entity_relation_task
else []
)
for task in all_tasks:
if task and not task.done():
task.cancel()
# Persistent llm cache
if self.llm_response_cache: