From 13510dbacd1590116fde64adb0f1587953918e61 Mon Sep 17 00:00:00 2001 From: Sean Sube Date: Sat, 4 Feb 2023 17:02:52 -0600 Subject: [PATCH] fix(api): prefer device with lower index when queue is tied --- api/onnx_web/device_pool.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/api/onnx_web/device_pool.py b/api/onnx_web/device_pool.py index 558185b3..e55665a3 100644 --- a/api/onnx_web/device_pool.py +++ b/api/onnx_web/device_pool.py @@ -156,7 +156,11 @@ class DevicePoolExecutor: queued = job_counts.most_common() logger.debug('jobs queued by device: %s', queued) - return queued[-1][0] + lowest_count = queued[-1][1] + lowest_devices = [d[0] for d in queued if d[1] == lowest_count] + lowest_devices.sort() + + return lowest_devices[0] def prune(self): self.jobs[:] = [job for job in self.jobs if job.future.done()]