Changeset View
Changeset View
Standalone View
Standalone View
swh/scheduler/simulator/__init__.py
Show All 11 Lines | |||||
from datetime import datetime, timedelta, timezone | from datetime import datetime, timedelta, timezone | ||||
import logging | import logging | ||||
from typing import Dict, Generator, Optional | from typing import Dict, Generator, Optional | ||||
from simpy import Event | from simpy import Event | ||||
from swh.scheduler.interface import SchedulerInterface | from swh.scheduler.interface import SchedulerInterface | ||||
from swh.scheduler.utils import create_origin_task_dict | from swh.scheduler.utils import create_origin_task_dicts | ||||
from . import origin_scheduler, task_scheduler | from . import origin_scheduler, task_scheduler | ||||
from .common import Environment, Queue, SimulationReport, Task | from .common import Environment, Queue, SimulationReport, Task | ||||
from .origins import generate_listed_origin, lister_process, load_task_process | from .origins import generate_listed_origin, lister_process, load_task_process | ||||
logger = logging.getLogger(__name__) | logger = logging.getLogger(__name__) | ||||
▲ Show 20 Lines • Show All 88 Lines • ▼ Show 20 Lines | def fill_test_data(scheduler: SchedulerInterface, num_origins: int = 100000): | ||||
# Generate 'num_origins' new origins | # Generate 'num_origins' new origins | ||||
origins = [generate_listed_origin(stored_lister.id) for _ in range(num_origins)] | origins = [generate_listed_origin(stored_lister.id) for _ in range(num_origins)] | ||||
scheduler.record_listed_origins(origins) | scheduler.record_listed_origins(origins) | ||||
scheduler.create_tasks( | scheduler.create_tasks( | ||||
[ | [ | ||||
{ | { | ||||
**create_origin_task_dict(origin), | **task_dict, | ||||
"policy": "recurring", | "policy": "recurring", | ||||
"next_run": origin.last_update, | "next_run": origin.last_update, | ||||
"interval": timedelta(days=64), | "interval": timedelta(days=64), | ||||
} | } | ||||
for origin in origins | for (origin, task_dict) in zip( | ||||
origins, create_origin_task_dicts(origins, scheduler) | |||||
) | |||||
] | ] | ||||
) | ) | ||||
def run( | def run( | ||||
scheduler: SchedulerInterface, | scheduler: SchedulerInterface, | ||||
scheduler_type: str, | scheduler_type: str, | ||||
policy: Optional[str], | policy: Optional[str], | ||||
Show All 26 Lines |