cwltool.executors
Single and multi-threaded executors.
Module Contents
Classes
Abstract base job executor. |
|
Default single-threaded CWL reference executor. |
|
Experimental multi-threaded CWL executor. |
|
Do nothing executor, for testing purposes only. |
Attributes
- cwltool.executors.TMPDIR_LOCK
- class cwltool.executors.JobExecutor
Abstract base job executor.
- __call__(process, job_order_object, runtime_context, logger=_logger)
- Parameters:
process (cwltool.process.Process)
job_order_object (cwltool.utils.CWLObjectType)
runtime_context (cwltool.context.RuntimeContext)
logger (logging.Logger)
- Return type:
Tuple[Optional[cwltool.utils.CWLObjectType], str]
- output_callback(out, process_status)
Collect the final status and outputs.
- Parameters:
out (Optional[cwltool.utils.CWLObjectType])
process_status (str)
- Return type:
None
- abstract run_jobs(process, job_order_object, logger, runtime_context)
Execute the jobs for the given Process.
- Parameters:
process (cwltool.process.Process)
job_order_object (cwltool.utils.CWLObjectType)
logger (logging.Logger)
runtime_context (cwltool.context.RuntimeContext)
- Return type:
None
- execute(process, job_order_object, runtime_context, logger=_logger)
Execute the process.
- Parameters:
process (cwltool.process.Process)
job_order_object (cwltool.utils.CWLObjectType)
runtime_context (cwltool.context.RuntimeContext)
logger (logging.Logger)
- Return type:
Tuple[Union[Optional[cwltool.utils.CWLObjectType]], str]
- class cwltool.executors.SingleJobExecutor
Bases:
JobExecutor
Default single-threaded CWL reference executor.
- run_jobs(process, job_order_object, logger, runtime_context)
Execute the jobs for the given Process.
- Parameters:
process (cwltool.process.Process)
job_order_object (cwltool.utils.CWLObjectType)
logger (logging.Logger)
runtime_context (cwltool.context.RuntimeContext)
- Return type:
None
- class cwltool.executors.MultithreadedJobExecutor
Bases:
JobExecutor
Experimental multi-threaded CWL executor.
Does simple resource accounting, will not start a job unless it has cores / ram available, but does not make any attempt to optimize usage.
- select_resources(request, runtime_context)
Naïve check for available cpu cores and memory.
- run_job(job, runtime_context)
Execute a single Job in a separate thread.
- Parameters:
job (Optional[cwltool.utils.JobsType])
runtime_context (cwltool.context.RuntimeContext)
- Return type:
None
- wait_for_next_completion(runtime_context)
Wait for jobs to finish.
- Parameters:
runtime_context (cwltool.context.RuntimeContext)
- Return type:
None
- run_jobs(process, job_order_object, logger, runtime_context)
Execute the jobs for the given Process.
- Parameters:
process (cwltool.process.Process)
job_order_object (cwltool.utils.CWLObjectType)
logger (logging.Logger)
runtime_context (cwltool.context.RuntimeContext)
- Return type:
None
- class cwltool.executors.NoopJobExecutor
Bases:
JobExecutor
Do nothing executor, for testing purposes only.
- run_jobs(process, job_order_object, logger, runtime_context)
Execute the jobs for the given Process.
- Parameters:
process (cwltool.process.Process)
job_order_object (cwltool.utils.CWLObjectType)
logger (logging.Logger)
runtime_context (cwltool.context.RuntimeContext)
- Return type:
None
- execute(process, job_order_object, runtime_context, logger=None)
Execute the process.
- Parameters:
process (cwltool.process.Process)
job_order_object (cwltool.utils.CWLObjectType)
runtime_context (cwltool.context.RuntimeContext)
logger (Optional[logging.Logger])
- Return type:
Tuple[Optional[cwltool.utils.CWLObjectType], str]