init commit
This commit is contained in:
42
nimbus/dist_sim/task_board.py
Normal file
42
nimbus/dist_sim/task_board.py
Normal file
@@ -0,0 +1,42 @@
|
||||
import time
|
||||
from threading import Lock
|
||||
|
||||
|
||||
class Task:
|
||||
def __init__(self):
|
||||
pass
|
||||
|
||||
def update_state(self, state):
|
||||
pass
|
||||
|
||||
|
||||
class TaskBoard:
|
||||
def __init__(self):
|
||||
self.tasks = []
|
||||
self.flying_tasks = []
|
||||
self.finished_tasks = []
|
||||
self.task_cnt = 0
|
||||
self.task_lock = Lock()
|
||||
self.flying_task_lock = Lock()
|
||||
|
||||
def reg_task(self, task):
|
||||
with self.task_lock:
|
||||
self.tasks.append(task)
|
||||
self.task_cnt += 1
|
||||
|
||||
def get_tasks(self, timeout=0):
|
||||
st_time = time.time()
|
||||
while len(self.tasks) == 0:
|
||||
if time.time() - st_time > timeout:
|
||||
return []
|
||||
pass
|
||||
with self.task_lock:
|
||||
tasks = self.tasks.copy()
|
||||
self.tasks = []
|
||||
return tasks
|
||||
|
||||
def commit_task(self, tasks):
|
||||
raise NotImplementedError("commit_task not implemented")
|
||||
|
||||
def finished(self):
|
||||
raise NotImplementedError("finished not implemented")
|
||||
Reference in New Issue
Block a user