Exemple #1
0
def _test_speed(server):
    cl = Client('/tmp/sock')

    t = time.time()
    i = 0
    while time.time() - t < 3:
        cl.put('test', 'aaa')
        i += 1

    cl.close()
    print i / 3.0, 'mp in second'
    assert False
Exemple #2
0
def test_blocked_get(server):
    cl1 = Client('/tmp/sock')
    cl2 = Client('/tmp/sock')

    f = Future(cl1.get, 'test')
    cl2.put('test', 'msg', 'id')
    result = f.get(1)
    assert result == ('id', 'msg')

    result = cl2.get('test', block=False)
    assert result == (None, None)
    f = Future(cl2.get, 'test')
    cl1.reput('test', 'id')
    result = f.get(1)
    assert result == ('id', 'msg')

    result = cl1.get('test', block=False)
    assert result == (None, None)
    f = Future(cl1.get, 'test')
    cl2.close()
    result = f.get(1)
    assert result == ('id', 'msg')
Exemple #3
0
def test_big_ack_result(server):
    cl1 = Client('/tmp/sock')
    cl2 = Client('/tmp/sock')

    msg_id = cl1.put('test', 'message')
    f = Future(cl1.wait_ack, 'test', msg_id)
    _ = cl2.get('test', block=False)
    cl2.ack('test', msg_id, ['boo']*100000)
    result = f.get(10)
    assert len(result) == 100000
Exemple #4
0
def test_ack_wait(server):
    cl1 = Client('/tmp/sock')
    cl2 = Client('/tmp/sock')

    msg_id = cl1.put('test', 'message')
    f = Future(cl1.wait_ack, 'test', msg_id)
    _ = cl2.get('test', block=False)
    cl2.ack('test', msg_id, 10)
    result = f.get(1)
    assert result == 10
Exemple #5
0
def test_put_get_and_ack(server):
    cl1 = Client('/tmp/sock')

    cl1.put('test', 'wow1', '1', 100)

    id, message = cl1.get('test', block=False)
    assert id == '1'
    assert message == 'wow1'

    cl1.put('test', 'wow2', '2', 500)

    time.sleep(1.1)

    id, message = cl1.get('test', block=False)
    assert id == '2'
    assert message == 'wow2'

    cl2 = Client('/tmp/sock')
    id, message = cl2.get('test', block=False)
    assert id == '1'
    assert message == 'wow1'

    cl3 = Client('/tmp/sock')
    id, message = cl3.get('test', block=False)
    assert id is None

    cl2.close()

    cl1.get_queue_size('test') == 2

    id, message = cl3.get('test', block=False)
    assert id == '1'
    assert message == 'wow1'

    cl1.ack('test', '2')
    id, message = cl1.get('test', block=False)
    assert id is None
Exemple #6
0
def test_group_messages(server):
    cl = Client('/tmp/sock')

    cl.put('test', 'msg1', priority=100, group='worker1')
    cl.put('test', 'msg2', priority=90, group='worker1')
    cl.put('test', 'msg3', priority=50, group='worker2')
    cl.put('test', 'msg4', priority=30, group='worker2')
    cl.put('test', 'msg5', priority=5, group=None)

    msg1_id, message = cl.get('test', True, False)
    assert message == 'msg1'

    msg3_id, message = cl.get('test', True, False)
    assert message == 'msg3'

    msg5_id, message = cl.get('test', True, False)
    assert message == 'msg5'

    cl.ack('test', msg5_id)
    msg_id, message = cl.get('test', True, False)
    assert msg_id is None

    cl.ack('test', msg1_id)
    msg_id, message = cl.get('test', True, False)
    assert message == 'msg2'

    cl.ack('test', msg3_id)
    msg_id, message = cl.get('test', True, False)
    assert message == 'msg4'