Beispiel #1
0
def pool_test(minsize, maxsize):
    pool = Pool(connect, minsize, maxsize, host='10.20.238.182', port=3306, user='******', password='******', db='webauth')
    assert pool.connected_count == 0
    assert len(pool.free_items) == 0
    assert not pool.waittings
    assert pool.maxsize == maxsize
    init_task = yield NewTask(pool.init())
    yield WaitTask(init_task)
    assert pool.connected_count == minsize
    assert len(pool.free_items) == minsize
    assert not pool.waittings
    
    connected_count = pool.connected_count
    conns = []
    for _ in range(minsize):
        conns.append((yield pool.get()))
    assert connected_count == pool.connected_count
    assert len(pool.free_items) == 0
    
    for _ in range(maxsize - minsize):
        conns.append((yield pool.get()))
        assert len(pool.free_items) == 0
    assert pool.connected_count == maxsize
    assert len(pool.free_items) == 0
    
    yield NewTask(free_conn(pool, conns.pop()))
    
    conns.append((yield pool.get()))
    assert len(conns) == maxsize
    assert pool.connected_count == maxsize
    
    
    exit()
Beispiel #2
0
    cookie = request.get_cookie("testcookie")
    r = HTTPReponse(
        """Hello world, %s, cookie: %s,
        request: %s
        data: %s
        connected: %s, pool left: %s
        Schedule: %s"""
        % (datetime.now(), cookie, request, rs[0], pool.connected_count, len(pool.free_items), schedule),
        "text/plain",
    )
    r.set_cookie("testcookie", "%s" % time.time())

    yield r


# import logging
# logging.root.setLevel(logging.DEBUG)
httpserver = HTTPServer(handler)
httpserver.listen(8081)
schedule = Scheduler.instance()
schedule.new(pool.init())
schedule.new(httpserver.start())
schedule.mainloop()

"""
TEST:

httperf --hog --server=10.20.208.25 --timeout 5 --uri=/ --port=8081 \
    --rate 100 --num-conns=1000 --num-calls=10
"""