threedb.scheduling.base_scheduler

The task schedular of 3DB.

class threedb.scheduling.base_scheduler.Scheduler(port: int, max_running_policies: int, envs: List[str], models: List[str], config: Dict[str, Dict[str, Any]], policy_controllers: Set[threedb.scheduling.policy_controller.PolicyController], buffer: threedb.utils.CyclicBuffer, logger_manager: threedb.result_logging.logger_manager.LoggerManager, with_tqdm: bool = True)

Bases: object

__init__(port: int, max_running_policies: int, envs: List[str], models: List[str], config: Dict[str, Dict[str, Any]], policy_controllers: Set[threedb.scheduling.policy_controller.PolicyController], buffer: threedb.utils.CyclicBuffer, logger_manager: threedb.result_logging.logger_manager.LoggerManager, with_tqdm: bool = True)None

Initialize self. See help(type(self)) for accurate signature.

start(declared_outputs)
Parameters

declared_outputs (-) – relay back to the server.

Note

Side effects: will create the buffer using the specified shapes, start the policy controllers, and also the loggers.

send_info()
handle_pull(message: Dict[str, Any])None

Handles a “pull” request from the client, asking for work. Should send a new list of jobs to work on

handle_push(message: Dict[str, Any])None
shutdown()
schedule_work()