Changeset View
Changeset View
Standalone View
Standalone View
swh/scheduler/tests/test_scheduler.py
Show First 20 Lines • Show All 228 Lines • ▼ Show 20 Lines | def test_grab_ready_tasks(self, swh_scheduler): | ||||
tasks = tasks_from_template( | tasks = tasks_from_template( | ||||
TEMPLATES["git"], t, num_priorities=NUM_PRIORITY_TASKS | TEMPLATES["git"], t, num_priorities=NUM_PRIORITY_TASKS | ||||
) | ) | ||||
random.shuffle(tasks) | random.shuffle(tasks) | ||||
swh_scheduler.create_tasks(tasks) | swh_scheduler.create_tasks(tasks) | ||||
first_ready_tasks = swh_scheduler.peek_ready_tasks(task_type, num_tasks=50) | first_ready_tasks = swh_scheduler.peek_ready_tasks(task_type, num_tasks=50) | ||||
grabbed_tasks = swh_scheduler.grab_ready_tasks(task_type, num_tasks=50) | grabbed_tasks = swh_scheduler.grab_ready_tasks(task_type, num_tasks=50) | ||||
first_ready_tasks.sort(key=lambda task: task["arguments"]["args"][0]) | |||||
grabbed_tasks.sort(key=lambda task: task["arguments"]["args"][0]) | |||||
for peeked, grabbed in zip(first_ready_tasks, grabbed_tasks): | for peeked, grabbed in zip(first_ready_tasks, grabbed_tasks): | ||||
assert peeked["status"] == "next_run_not_scheduled" | assert peeked["status"] == "next_run_not_scheduled" | ||||
del peeked["status"] | del peeked["status"] | ||||
assert grabbed["status"] == "next_run_scheduled" | assert grabbed["status"] == "next_run_scheduled" | ||||
del grabbed["status"] | del grabbed["status"] | ||||
assert peeked == grabbed | assert peeked == grabbed | ||||
priority = grabbed["priority"] | priority = grabbed["priority"] | ||||
Show All 18 Lines | def test_grab_ready_priority_tasks(self, swh_scheduler): | ||||
) | ) | ||||
tasks = tasks0 + tasks1 + tasks2 | tasks = tasks0 + tasks1 + tasks2 | ||||
random.shuffle(tasks) | random.shuffle(tasks) | ||||
swh_scheduler.create_tasks(tasks) | swh_scheduler.create_tasks(tasks) | ||||
ready_tasks = swh_scheduler.peek_ready_priority_tasks(task_type, num_tasks=50) | ready_tasks = swh_scheduler.peek_ready_priority_tasks(task_type, num_tasks=50) | ||||
grabbed_tasks = swh_scheduler.grab_ready_priority_tasks(task_type, num_tasks=50) | grabbed_tasks = swh_scheduler.grab_ready_priority_tasks(task_type, num_tasks=50) | ||||
ready_tasks.sort(key=lambda task: task["arguments"]["args"][0]) | |||||
grabbed_tasks.sort(key=lambda task: task["arguments"]["args"][0]) | |||||
for peeked, grabbed in zip(ready_tasks, grabbed_tasks): | for peeked, grabbed in zip(ready_tasks, grabbed_tasks): | ||||
assert peeked["status"] == "next_run_not_scheduled" | assert peeked["status"] == "next_run_not_scheduled" | ||||
del peeked["status"] | del peeked["status"] | ||||
assert grabbed["status"] == "next_run_scheduled" | assert grabbed["status"] == "next_run_scheduled" | ||||
del grabbed["status"] | del grabbed["status"] | ||||
assert peeked == grabbed | assert peeked == grabbed | ||||
assert peeked["priority"] == grabbed["priority"] | assert peeked["priority"] == grabbed["priority"] | ||||
▲ Show 20 Lines • Show All 969 Lines • Show Last 20 Lines |