ovo.core.scheduler.base_scheduler¶
Module Contents¶
Classes¶
API¶
- class ovo.core.scheduler.base_scheduler.SchedulerTypes¶
- REGISTERED_CLASSES¶
None
- classmethod register(name=None)¶
- exception ovo.core.scheduler.base_scheduler.JobNotFound¶
Bases:
Exception
- class ovo.core.scheduler.base_scheduler.Scheduler(name: str, workdir: str, reference_files_dir: str, allow_submit: bool = True, submission_args: dict = None)¶
Bases:
abc.ABC- abstractmethod submit(pipeline_name: str, params: dict = None, submission_args: dict = None) str¶
Submits a workflow asynchronously and returns the PID.
- Parameters:
pipeline_name – Workflow name and revision (ovo.rfdiffusion-end-to-end or github url with @version)
params – Dictionary of parameters to pass to the workflow.
submission_args – Submission arguments for the scheduler, overrides values in self.submission_args
- Returns:
Scheduler job ID
- abstractmethod get_status_label(job_id: str) str¶
Get human-readable job status label. Should NOT be used to determine job status.
- abstractmethod get_result(job_id: str) bool | None¶
Get job result: True if successful, False if failed, None if still running.
- abstractmethod get_log(job_id: str) str | None¶
Get job execution log
- abstractmethod cancel(job_id)¶
Cancel job execution
- abstractmethod get_output_dir(job_id: str)¶
Get job output path
- abstractmethod get_job_start_time(job_id: str) datetime.datetime | None¶
Get job start time
- abstractmethod get_job_stop_time(job_id: str) datetime.datetime | None¶
Get job end time
- get_startup_time_minutes()¶
Get startup time of a task (in minutes)
- wait(job_id: str, timeout: int = None, interval: int | float = 10) bool¶
Wait synchronously using sleep loop for job completion, with optional timeout.
- Parameters:
job_id – Scheduler job ID
timeout – Maximum time to wait in seconds, None for no timeout
interval – Interval between status checks in seconds
- Returns:
True if successful, False if failed, raises TimeoutError if timed out
- abstractmethod get_pipeline_names() list[str]¶
- get_param_schema(pipeline_name: str) dict | None¶
Get workflow schema JSON dict (JSON Schema standard) or None if not available.
- get_failed_message(job_id)¶