Mercurial > code > home > repos > light9
comparison bin/load_test_rdfdb @ 1917:713e56e8e2b9
rdfdb load tester
Ignore-this: ca714a9f84b3c0f0aa05b3805cd7344b
author | Drew Perttula <drewp@bigasterisk.com> |
---|---|
date | Sat, 01 Jun 2019 20:07:27 +0000 |
parents | |
children | 4718ca6f812e |
comparison
equal
deleted
inserted
replaced
1916:070c6d185276 | 1917:713e56e8e2b9 |
---|---|
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 |