summaryrefslogtreecommitdiff
path: root/gear/controller.py
diff options
context:
space:
mode:
Diffstat (limited to 'gear/controller.py')
-rw-r--r--gear/controller.py15
1 files changed, 11 insertions, 4 deletions
diff --git a/gear/controller.py b/gear/controller.py
index 9dc1df60..dd3a1499 100644
--- a/gear/controller.py
+++ b/gear/controller.py
@@ -276,7 +276,7 @@ class RequestsController(threading.Thread):
self.build_status_lock = threading.Lock()
self.stopped = False
- def add_request(self, request):
+ def add_request(self, request, job=None):
json_request = json.dumps(request)
print "DEBUG: adding request - %s" % json_request
request_data = {}
@@ -286,6 +286,7 @@ class RequestsController(threading.Thread):
# TODO: is this the right place to do this?
request_data['controller'].start_build(json_request)
request_data['request'] = request
+ request_data['job'] = job
self.next_id += 1
self.build_requests.append(request_data)
@@ -312,11 +313,16 @@ class RequestsController(threading.Thread):
artifacts = request['controller']._find_artifacts(cache_key)
for artifact in artifacts:
artifact.state = BUILT
- print "TO %s: Artifact %s built" % (request['id'],artifact.name)
+ info = "TO %s: Artifact %s built" % (request['id'], artifact.name)
+ self.send_data_to_client(request['job'], info)
with self.lock_queue:
self.lock_queue.notify()
+ def send_data_to_client(self, job, msg):
+ if job:
+ job.sendWorkData(msg)
+ print msg
def mark_as_building(self, cache_key):
with self.build_status_lock:
@@ -328,7 +334,8 @@ class RequestsController(threading.Thread):
artifacts = request['controller']._find_artifacts(cache_key)
for artifact in artifacts:
artifact.state = BUILDING
- print "TO %s: Artifact %s building" % (request['id'],artifact.name)
+ info = "TO %s: Artifact %s building" % (request['id'],artifact.name)
+ self.send_data_to_client(request['job'], info)
def shutdown(self):
self.stopped = True
@@ -367,7 +374,7 @@ class RequestsManager(threading.Thread):
def _handle_job(self, job):
build_request=json.loads(job.arguments)
- self.requests_controller.add_request(build_request)
+ self.requests_controller.add_request(build_request, job)
request = {}
request['repo'] = "baserock:baserock/definitions"