bartender.schedulers.eager#

Classes#

EagerSchedulerConfig

Configuration for eager scheduler.

EagerScheduler

Scheduler that runs jobs immediately on submission.

Functions#

_exec(→ None)

_handle_job_completion(→ None)

Module Contents#

class bartender.schedulers.eager.EagerSchedulerConfig#

Bases: pydantic.BaseModel

Configuration for eager scheduler.

Parameters:
  • max_load – Maximum load that scheduler will process submissions.

  • timeout – Maximum time to wait for job to finish. In seconds.

type: Literal['eager'] = 'eager'#
max_load: pydantic.types.PositiveFloat = 1.0#
timeout: pydantic.PositiveInt = 300#
async bartender.schedulers.eager._exec(description: bartender.schedulers.abstract.JobDescription, timeout: int) None#
Parameters:
Return type:

None

async bartender.schedulers.eager._handle_job_completion(timeout: int, proc: asyncio.subprocess.Process, job_dir: pathlib.Path) None#
Parameters:
Return type:

None

class bartender.schedulers.eager.EagerScheduler(config: EagerSchedulerConfig)#

Bases: bartender.schedulers.abstract.AbstractScheduler

Scheduler that runs jobs immediately on submission.

Parameters:

config (EagerSchedulerConfig) –

config#
async submit(description: bartender.schedulers.abstract.JobDescription) str#

Submit a job description for running.

Parameters:

description (bartender.schedulers.abstract.JobDescription) – Description for a job.

Returns:

Identifier that can be used later to interact with job.

Raises:

JobSubmissionError – If job submission failed.

Return type:

str

async state(job_id: str) bartender.db.models.job_model.State#

Get state of a job.

Once job is completed, then scheduler can forget job.

Parameters:

job_id (str) – Identifier of job.

Returns:

State of job.

Return type:

bartender.db.models.job_model.State

async states(job_ids: list[str]) list[bartender.db.models.job_model.State]#

Get state of jobs.

Once a job is completed, then scheduler can forget job.

Parameters:

job_ids (list[str]) – Identifiers of jobs.

Returns:

States of jobs.

Return type:

list[bartender.db.models.job_model.State]

async cancel(job_id: str) None#

Cancel a queued or running job.

Once a queued job is cancelled, then the scheduler can forget job.

Parameters:

job_id (str) – Identifier of job.

Return type:

None

async close() None#

Cancel all runnning jobs and make scheduler unable to work.

Return type:

None