nvflare.apis.job_scheduler_spec module

class DispatchInfo(app_name: str, resource_requirements: dict, token: str | None)[source]

Bases: object

Information needed for dispatch

class JobSchedulerSpec[source]

Bases: ABC

abstract schedule_job(job_manager: JobDefManagerSpec, job_candidates: List[Job], fl_ctx: FLContext)[source]

Try to schedule a Job.

Parameters:
  • job_manager – JobDefManager

  • job_candidates – The candidate to choose from.

  • fl_ctx – FLContext.

Returns:

job is the Job that satisfies the criteria of the scheduler. sites_dispatch_info is dict of {site name: DispatchInfo} for the job.

Return type:

A tuple of (job, sites_dispatch_info, failed_jobs, blocked_jobs)