Beispiel #1
0
def test_service_worker_added():
    svc = broker.Service()
    assert 0 == svc.available_workers
    svc.add_worker(broker.Worker(b'w1', b's1', time.time(), time.time()))
    assert 1 == svc.available_workers
    svc.add_worker(broker.Worker(b'w2', b's1', time.time(), time.time()))
    assert 2 == svc.available_workers
Beispiel #2
0
def test_worker_is_expired():
    now = time.time()
    w = broker.Worker(b'foo', b'bar', now + 5.0, now + 1.0)
    assert w.is_expired(now) is False
    assert w.is_expired(now + 4.9) is False
    assert w.is_expired(now + 10.0) is True
    assert w.is_expired(now + 5.0) is True
Beispiel #3
0
def test_worker_is_heartbeat():
    now = time.time()
    w = broker.Worker(b'foo', b'bar', now + 5.0, now + 1.0)
    assert w.is_heartbeat(now) is False
    assert w.is_heartbeat(now + 0.5) is False
    assert w.is_heartbeat(now + 2.0) is True
    assert w.is_heartbeat(now + 1.0) is True
Beispiel #4
0
def test_service_dequeue_no_requests():
    svc = broker.Service()
    svc.queue_request(b'c1', [b'f1', b'f2'])
    svc.add_worker(broker.Worker(b'w1', b's1', time.time(), time.time()))
    svc.add_worker(broker.Worker(b'w2', b's1', time.time(), time.time()))

    assert 2 == svc.available_workers
    assert 1 == svc.queued_requests

    dequeued = list(svc.dequeue_pending())
    assert 1 == len(dequeued)

    assert 1 == svc.available_workers
    assert 0 == svc.queued_requests

    dequeued = list(svc.dequeue_pending())
    assert 0 == len(dequeued)
Beispiel #5
0
def test_service_request_dequeued():
    message = [b'f1', b'f2']
    worker = broker.Worker(b'w1', b's1', time.time(), time.time())
    client = b'c1'

    svc = broker.Service()
    svc.add_worker(worker)

    dequeued = list(svc.dequeue_pending())
    assert 0 == len(dequeued)

    svc.queue_request(client, message)
    dequeued = list(svc.dequeue_pending())
    assert 1 == len(dequeued)

    assert dequeued[0] == (message, worker, client)