summaryrefslogtreecommitdiff
path: root/lorry-controller-webapp
diff options
context:
space:
mode:
Diffstat (limited to 'lorry-controller-webapp')
-rwxr-xr-xlorry-controller-webapp24
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 }