MCPcopy Create free account
hub / github.com/ModelTC/LightX2V / create_task

Method create_task

lightx2v/server/task_manager.py:73–92  ·  view source on GitHub ↗
(self, message: Any)

Source from the content-addressed store, hash-verified

71 self.failed_tasks = 0
72 self._emit_queue_metrics_unlocked()
73
74 def create_task(self, message: Any) -> str:
75 with self._task_available:
76 if hasattr(message, "task_id") and message.task_id in self._tasks:
77 raise RuntimeError(f"Task ID {message.task_id} already exists")
78
79 active_tasks = sum(1 for t in self._tasks.values() if t.status in [TaskStatus.PENDING, TaskStatus.PROCESSING])
80 if active_tasks >= self.max_queue_size:
81 raise RuntimeError(f"Task queue is full (max {self.max_queue_size} tasks)")
82
83 task_id = getattr(message, "task_id", str(uuid.uuid4()))
84 task_info = TaskInfo(task_id=task_id, status=TaskStatus.PENDING, message=message, save_result_path=getattr(message, "save_result_path", None))
85
86 self._tasks[task_id] = task_info
87 self.total_tasks += 1
88
89 self._cleanup_old_tasks()
90 self._emit_queue_metrics_unlocked()
91 self._task_available.notify()
92
93 return task_id
94
95 def start_task(self, task_id: str) -> TaskInfo:

Callers 6

_run_sync_image_taskFunction · 0.80
create_image_taskFunction · 0.80
create_image_task_syncFunction · 0.80
create_image_task_formFunction · 0.80
create_video_taskFunction · 0.80
create_video_task_formFunction · 0.80

Calls 4

_cleanup_old_tasksMethod · 0.95
TaskInfoClass · 0.85
valuesMethod · 0.45

Tested by

no test coverage detected