worker can have assigned job

This commit is contained in:
iLLiCiTiT 2021-10-08 18:44:57 +02:00
parent a66c7ef360
commit a948684d16

View file

@ -13,6 +13,8 @@ class Worker:
self._id = None
self.host_name = host_name
self._state = WorkerState.IDLE
self._job = None
@property
def id(self):
@ -24,6 +26,10 @@ class Worker:
def state(self):
return self._state
@property
def current_job(self):
return self._job
def is_idle(self):
return self._state is WorkerState.IDLE
@ -35,3 +41,21 @@ class Worker:
def is_working(self):
return self._state is WorkerState.JOB_SENT
def set_current_job(self, job):
if job is self._job:
return
self._job = job
if job is None:
self._set_idle()
else:
self._state = WorkerState.JOB_ASSIGNED
job.set_worker(self)
def _set_idle(self):
self._job = None
self._state = WorkerState.IDLE
def set_working(self):
self._state = WorkerState.JOB_SENT