X-Git-Url: https://git.distorted.org.uk/~mdw/hippotat/blobdiff_plain/62b51bcf91b1b61b6417fb794272528f2673f3ff..213fbe989ae5642701a264e94e90286bb67fcf6e:/client diff --git a/client b/client index c878d72..018da51 100755 --- a/client +++ b/client @@ -2,6 +2,9 @@ from hippotat import * +import twisted.web +import twisted.web.client + client_cs = None def set_client(ci,cs,pw): @@ -32,6 +35,7 @@ def process_cfg(): c.routes = cfg.get('virtual','routes') c.max_queue_time = cfg.getint(client_cs, 'max_queue_time') c.max_batch_up = cfg.getint(client_cs, 'max_batch_up') + c.http_timeout = cfg.getint(client_cs, 'http_timeout') process_cfg_ipif(client_cs, (('local', 'client'), @@ -67,19 +71,20 @@ def req_ok(resp): resp.deliverBody(ResponseConsumer()) def req_err(err): - print(err, >>sys.stderr) + print(err, file=sys.stderr) def req_fin(*args): - outstanding-- + outstanding -= 1 def check_outbound(): while True: - if outstanding >= c.max_outstanding : break - if not queue.nonempty() && outstanding >= c.target_outstanding: break + if outstanding >= c.max_outstanding : break + if not queue.nonempty() and outstanding >= c.target_outstanding: break d = b'' + def moredata(s): global d; d += s queue.process((lambda: len(d)), - (lambda s: d += s), + moredata, c.max_batch_up) assert(len(d)) @@ -99,10 +104,10 @@ def check_outbound(): req = agent.request(b'POST', c.url, twisted.web.client.Headers(hh)) - req.addTimeout(c.http_timeout, + req.addTimeout(c.http_timeout) req.addCallbacks(req_ok, req_err) req.addBoth(req_fin) - outstanding++ + outstanding += 1 common_startup() process_cfg()