summaryrefslogtreecommitdiff
path: root/gear/client.py
diff options
context:
space:
mode:
Diffstat (limited to 'gear/client.py')
-rw-r--r--gear/client.py63
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)