diff options
Diffstat (limited to 'lorry-controller-webapp')
-rwxr-xr-x | lorry-controller-webapp | 24 |
1 files changed, 13 insertions, 11 deletions
diff --git a/lorry-controller-webapp b/lorry-controller-webapp index 468f941..8543899 100755 --- a/lorry-controller-webapp +++ b/lorry-controller-webapp @@ -610,17 +610,19 @@ class GiveMeJob(LorryControllerRoute): def run(self, **kwargs): logging.debug('%s %s called', self.http_method, self.path) - with self.statedb.transaction(): - lorry_infos = self.statedb.get_all_lorries_info() - for lorry_info in lorry_infos: - if lorry_info['running_job'] is None: - path = lorry_info['path'] - running_job = self.statedb.get_next_job_id() - self.statedb.set_running_job(path, running_job) - return { - 'job_id': running_job, - 'path': path, - } + + if self.statedb.get_running_queue(): + with self.statedb.transaction(): + lorry_infos = self.statedb.get_all_lorries_info() + for lorry_info in lorry_infos: + if lorry_info['running_job'] is None: + path = lorry_info['path'] + running_job = self.statedb.get_next_job_id() + self.statedb.set_running_job(path, running_job) + return { + 'job_id': running_job, + 'path': path, + } return { 'job_id': None } |