diff options
Diffstat (limited to 'gear/controller.py')
-rw-r--r-- | gear/controller.py | 15 |
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" |