smallpond.execution.scheduler.Scheduler#
- class smallpond.execution.scheduler.Scheduler(exec_plan: ExecutionPlan, max_retry_count: int = 5, max_fail_count: int = 3, prioritize_retry=False, speculative_exec: Literal['disable', 'enable', 'aggressive'] = 'enable', stop_executor_on_failure=False, nonzero_exitcode_as_oom=False, remove_output_root=False, sched_state_observers=None)#
The task scheduler.
- __init__(exec_plan: ExecutionPlan, max_retry_count: int = 5, max_fail_count: int = 3, prioritize_retry=False, speculative_exec: Literal['disable', 'enable', 'aggressive'] = 'enable', stop_executor_on_failure=False, nonzero_exitcode_as_oom=False, remove_output_root=False, sched_state_observers=None) None #
Methods
__init__
(exec_plan[, max_retry_count, ...])add_state_observer
(observer)clean_temp_files
(pool)clear_cached_executor_lists
()copy_task_for_execution
(task)dispatch_tasks
(pool)export_task_metrics
()export_timeline_figs
()get_retry_task
(key)get_runnable_tasks
(finished_task)log_current_status
()log_overall_progress
()notify_state_observers
([force_notify])probe_executors
()process_finished_tasks
(pool)run
()save_task_final_state
(finished_task)sched_loop
(pool)start_speculative_execution
()stop_executors
()stop_running_tasks
(task_key)suspend_good_executors
()try_boost_resource
(item, executor)try_enqueue
(tasks)try_relax_memory_limit
(task, executor)update_executor_states
()Attributes
StateCallback
alias of
Callable
[[Scheduler
],Any
]abandoned_tasks
alive_executors
elapsed_time
failed_executors
good_executors
large_num_nontrivial_tasks
large_runtime_state
local_executors
low_resource_executors
num_local_running_works
num_pending_nontrivial_tasks
num_pending_tasks
num_running_works
pending_nontrivial_tasks
progress
remote_executors
running_works
stopped_executors
stopping_executors
succeeded_task_ids
success
working_executors