glite#

gLite contrib functionality.

Class GLiteWorkflow#

class GLiteWorkflow(*args, **kwargs)[source]#

Bases: BaseRemoteWorkflow

workflow_proxy_cls#

alias of GLiteWorkflowProxy

glite_workflow_run_context() Generator[None, None, None][source]#

Hook to provide a context manager in which the workflow run implementation is placed. This can be helpful in situations where resurces should be acquired before and released after running a workflow.

glite_job_resources(job_num: int, branches: list[int]) dict[str, int][source]#

Hook to define resources for a specific job with number job_num, processing branches. This method should return a dictionary.

glite_dump_intermediate_job_data() bool[source]#

Whether to dump intermediate job data to the job submission file while jobs are being submitted.

glite_post_submit_delay() int | float[source]#

Configurable delay in seconds to wait after submitting jobs and before starting the status polling.

glite_poll_callback(poll_data: PollData) None[source]#

Configurable callback that is called after each job status query and before potential resubmission. It receives the variable polling attributes poll_data (PollData) that can be changed within this method. If False is returned, the polling loop is gracefully terminated. Returning any other value does not have any effect.

glite_post_poll_callback(success: bool, duration: float | int) None[source]#

Configurable callback that is called after the polling loop has ended. It receives a boolean success that indicates whether the job polling was successful, and the duration of the job polling in seconds.

Class GLiteJobManager#

class GLiteJobManager(ce: str | None = None, delegation_id: str | None = None, threads: int = 1)[source]#

Bases: BaseJobManager

submit(job_file: str | Path, ce: str | None = None, delegation_id: str | None = None, retries: int = 0, retry_delay: float | int = 3, silent: bool = False, _processes: list | None = None) str | None[source]#

Abstract atomic or group job submission. Can throw exceptions. Should return a single job id or a list of ids.

cancel(job_id: str | Sequence[str], silent: bool = False, _processes: list | None = None) dict[str, Any] | None[source]#

Abstract atomic or group job cancellation. Can throw exceptions. Should return a dictionary mapping job ids to per-job return values.

cleanup(job_id: str | Sequence[str], silent: bool = False, _processes: list | None = None) dict[str, Any] | None[source]#

Abstract atomic or group job cleanup. Can throw exceptions. Should return a dictionary mapping job ids to per-job return values.

query(job_id: str | Sequence[str], silent: bool = False, _processes: list | None = None) dict[int, dict[str, Any]] | dict[str, Any] | None[source]#

Abstract atomic or group job status query. Can throw exceptions. Should return a dictionary mapping job ids to per-job return values.

Class GLiteJobFileFactory#

class GLiteJobFileFactory(*, file_name: str = 'glite_job.jdl', command: str | Sequence[str] | None = None, executable: str | None = None, arguments: str | Sequence[str] | None = None, input_files: dict[str, str | Path | JobInputFile] | None = None, output_files: list[str] | None = None, postfix_output_files: bool = True, output_uri: str | None = None, stdout: str = 'stdout.txt', stderr: str = 'stderr.txt', vo: str | None = None, custom_content: str | Sequence[str] | None = None, absolute_paths: bool = False, **kwargs)[source]#

Bases: BaseJobFileFactory

create(postfix: str | None = None, **kwargs) tuple[str, Config][source]#

Abstract job file creation method that must be implemented by inheriting classes.