Mercurial > code > home > repos > light9
changeset 1917:713e56e8e2b9
rdfdb load tester
Ignore-this: ca714a9f84b3c0f0aa05b3805cd7344b
author | Drew Perttula <drewp@bigasterisk.com> |
---|---|
date | Sat, 01 Jun 2019 20:07:27 +0000 |
parents | 070c6d185276 |
children | ddc9a5ef213a |
files | bin/load_test_rdfdb |
diffstat | 1 files changed, 37 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/bin/load_test_rdfdb Sat Jun 01 20:07:27 2019 +0000 @@ -0,0 +1,37 @@ +#!bin/python +from run_local import log +from twisted.internet import reactor, task, defer +from rdflib import URIRef, Literal +from twisted.internet.defer import ensureDeferred +from rdfdb.syncedgraph import SyncedGraph +import time, logging + +from light9 import networking, showconfig +from light9.namespaces import L9 + +class BusyClient: + def __init__(self, subj, rate): + self.subj = subj + self.rate = rate + + self.graph = SyncedGraph(networking.rdfdb.url, "collector") + self.graph.initiallySynced.addCallback(self.go) + def go(self, _): + task.LoopingCall(self.loop).start(1 / self.rate) + + + def loop(self): + self.graph.patchObject(showconfig.showUri() + '/loadTestContext', + subject=self.subj, + predicate=L9['time'], + newObject=Literal(str(time.time()))) + +def main(): + log.setLevel(logging.INFO) + + clients = [BusyClient(L9['loadTest_%d' % i], 20) for i in range(10)] + reactor.run() + +if __name__ == "__main__": + main() +