diff options
Diffstat (limited to 'gear/client.py')
-rw-r--r-- | gear/client.py | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/gear/client.py b/gear/client.py new file mode 100644 index 00000000..4ef06d26 --- /dev/null +++ b/gear/client.py @@ -0,0 +1,63 @@ +import gear +import sys +import json +import distbuild + +gear.Server() + +class aGearmanClient(gear.Client): + def __init__(self): + super(aGearmanClient, self).__init__() + print "init" + self.finished = False + + def handleWorkComplete(self, packet): + job = super(aGearmanClient, self).handleWorkComplete(packet) + print "workcomplete" + self.finished = True + artifact = distbuild.decode_artifact_reference(job.data[-1]) + print artifact.dependencies[0].dependencies + return job + + def handleWorkData(self, packet): + job = super(aGearmanClient, self).handleWorkData(packet) + print job.data[-1] + job.data = [] + return job + + def handleWorkFail(self, packet): + job = super(aGearmanClient, self).handleWorkFail(packet) + print "workfail" + return job + + def handleWorkException(self, packet): + job = super(aGearmanClient, self).handleWorkException(packet) + print "workexception" + return job + + def handleDisconnect(self, job): + job = super(aGearmanClient, self).handleDisconnect(job) + print "disconnect" + +client = aGearmanClient() +client.addServer('localhost') +client.waitForServer() # Wait for at least one server to be connected +print "server connected" +#job = gear.Job("reverse", "test string") +build_graph_request = {} +build_graph_request['repo'] = "baserock:baserock/definitions" +build_graph_request['ref'] = "master" +build_graph_request['system'] = "systems/minimal-system-x86_64-generic.morph" + +s=json.dumps(build_graph_request) + +print s +print "json produced" + +job = gear.Job("build-graph", s) +client.submitJob(job) + +# loop so that client doesn't die +while True: + import time + time.sleep(2) |