1917
|
1 #!bin/python
|
|
2 from run_local import log
|
|
3 from twisted.internet import reactor, task, defer
|
|
4 from rdflib import URIRef, Literal
|
|
5 from twisted.internet.defer import ensureDeferred
|
|
6 from rdfdb.syncedgraph import SyncedGraph
|
|
7 import time, logging
|
|
8
|
|
9 from light9 import networking, showconfig
|
|
10 from light9.namespaces import L9
|
|
11
|
|
12 class BusyClient:
|
|
13 def __init__(self, subj, rate):
|
|
14 self.subj = subj
|
|
15 self.rate = rate
|
|
16
|
|
17 self.graph = SyncedGraph(networking.rdfdb.url, "collector")
|
|
18 self.graph.initiallySynced.addCallback(self.go)
|
|
19 def go(self, _):
|
|
20 task.LoopingCall(self.loop).start(1 / self.rate)
|
|
21
|
|
22
|
|
23 def loop(self):
|
|
24 self.graph.patchObject(showconfig.showUri() + '/loadTestContext',
|
|
25 subject=self.subj,
|
|
26 predicate=L9['time'],
|
|
27 newObject=Literal(str(time.time())))
|
|
28
|
|
29 def main():
|
|
30 log.setLevel(logging.INFO)
|
|
31
|
|
32 clients = [BusyClient(L9['loadTest_%d' % i], 20) for i in range(10)]
|
|
33 reactor.run()
|
|
34
|
|
35 if __name__ == "__main__":
|
|
36 main()
|
|
37
|