1
0
Fork 0

only enqueue jobs from progress worker

This commit is contained in:
Sean Sube 2023-03-26 14:02:57 -05:00
parent ccf8d51e08
commit 0af406c47f
Signed by: ssube
GPG Key ID: 3EED7B957D362AF1
1 changed files with 38 additions and 39 deletions

View File

@ -334,7 +334,6 @@ class DevicePoolExecutor:
for device in self.devices: for device in self.devices:
if device.device in needs_restart: if device.device in needs_restart:
self.create_device_worker(device) self.create_device_worker(device)
self.next_job(device)
if self.logger_worker.is_alive(): if self.logger_worker.is_alive():
logger.debug("logger worker is running") logger.debug("logger worker is running")
@ -420,8 +419,7 @@ class DevicePoolExecutor:
logger.trace("no pending jobs for device %s", device) logger.trace("no pending jobs for device %s", device)
def update_job(self, progress: ProgressCommand): def finish_job(self, progress: ProgressCommand):
if progress.finished:
# move from running to finished # move from running to finished
logger.info("job has finished: %s", progress.job) logger.info("job has finished: %s", progress.job)
self.finished_jobs.append(progress) self.finished_jobs.append(progress)
@ -432,9 +430,10 @@ class DevicePoolExecutor:
if progress.job in self.cancelled_jobs: if progress.job in self.cancelled_jobs:
self.cancelled_jobs.remove(progress.job) self.cancelled_jobs.remove(progress.job)
# enqueue the next job for this device def update_job(self, progress: ProgressCommand):
self.next_job(progress.device) if progress.finished:
else: return self.finish_job(progress)
# move from pending to running # move from pending to running
logger.debug( logger.debug(
"progress update for job: %s to %s", progress.job, progress.progress "progress update for job: %s to %s", progress.job, progress.progress