示例#1
0
 def test_squad():
     tasks_in_squad = 3
     arbiter = Arbiter(host=arbiter_host, port=5672, user=arbiter_user, password=arbiter_password)
     tasks = []
     for _ in range(tasks_in_squad):
         tasks.append(Task("simple_add", task_args=[1, 2]))
     squad_id = arbiter.squad(tasks)
     while arbiter.status(squad_id).get("state") != "done":
         sleep(1)
     status = arbiter.status(squad_id)
     assert status["done"] == tasks_in_squad
     assert len(status["tasks"]) == tasks_in_squad
     assert arbiter.workers()[arbiter_queue]['available'] == 10
     arbiter.close()
示例#2
0
 def test_kill_group():
     tasks_in_squad = 3
     start = time()
     arbiter = Arbiter(host=arbiter_host, port=5672, user=arbiter_user, password=arbiter_password)
     tasks = []
     for _ in range(tasks_in_squad):
         tasks.append(Task("long_running"))
     squad_id = arbiter.squad(tasks)
     sleep(5)  # time for squad to settle
     arbiter.kill_group(squad_id)
     while arbiter.status(squad_id).get("state") != "done":
         sleep(1)
     assert time() - start < 180
     assert arbiter.workers()[arbiter_queue]['available'] == 10
     arbiter.close()
示例#3
0
 def test_squad_finalyzer():
     tasks_in_squad = 3
     arbiter = Arbiter(host=arbiter_host, port=5672, user=arbiter_user, password=arbiter_password)
     tasks = []
     for _ in range(tasks_in_squad):
         tasks.append(Task("simple_add", task_args=[1, 2]))
     tasks.append(Task("simple_add", task_args=[5, 5], task_type='finalize'))
     squad_id = arbiter.squad(tasks, callback=Task("simple_add", task_args=[5, 4]))
     while arbiter.status(squad_id).get("state") != "done":
         sleep(1)
     status = arbiter.status(squad_id)
     assert status["done"] == tasks_in_squad + 2  # callback + finalizer
     assert len(status["tasks"]) == tasks_in_squad + 2  # callback + finalizer
     assert status["tasks"][-1]['task_type'] == "finalize"
     assert status["tasks"][-1]['result'] == 10
     assert arbiter.workers()[arbiter_queue]['available'] == 10
     arbiter.close()