smif.controller.job package

Provides all the job run schedulers.

class smif.controller.job.SerialJobScheduler(store=None)[source]

Bases: object

Run JobGraphs produced by a ModelRun

add(job_graph, dry_run=False)[source]

Add a JobGraph to the SerialJobScheduler and run directly

Parameters:
  • job_graph (networkx.graph)

  • dry_run (boolean, optional) – If True, print job steps without running

get_status(job_graph_id)[source]

Get job graph status

Parameters:

job_graph_id (int)

Returns:

dict

Return type:

A message containing the status

Notes

Possible statuses:

unstarted:

Job graph has not yet started

running:

Job graph is running

done:

Job graph was completed succesfully

failed:

Job graph completed running with an exit code

kill(job_graph_id)[source]

Kill a job_graph that is already running - not implemented

Parameters:

job_graph_id (int)

Submodules

smif.controller.job.serial_job_scheduler module

Job Schedulers are used to run job graphs.

Runs a job graph by calling execute_model_step for each operation in order

class smif.controller.job.serial_job_scheduler.SerialJobScheduler(store=None)[source]

Bases: object

Run JobGraphs produced by a ModelRun

add(job_graph, dry_run=False)[source]

Add a JobGraph to the SerialJobScheduler and run directly

Parameters:
  • job_graph (networkx.graph)

  • dry_run (boolean, optional) – If True, print job steps without running

get_status(job_graph_id)[source]

Get job graph status

Parameters:

job_graph_id (int)

Returns:

dict

Return type:

A message containing the status

Notes

Possible statuses:

unstarted:

Job graph has not yet started

running:

Job graph is running

done:

Job graph was completed succesfully

failed:

Job graph completed running with an exit code

kill(job_graph_id)[source]

Kill a job_graph that is already running - not implemented

Parameters:

job_graph_id (int)