1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
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)
|