pyslurmutils.client.rest.script.SlurmScriptRestClient#

class pyslurmutils.client.rest.script.SlurmScriptRestClient(url='', user_name='', token='', parameters=None, log_directory=None, request_options=None)[source]#

Bases: SlurmBaseRestClient

SLURM API to submit, cancel and monitor scripts. This class does not contain any job-related state.

Parameters:
  • url (str) –

  • user_name (str) –

  • token (str) –

  • parameters (Optional[dict]) –

  • log_directory (Optional[str]) –

  • request_options (Optional[dict]) –

VERSION = '0.0.37'#
cancel_job(job_id, request_options=None)#
Parameters:
  • job_id (int) –

  • request_options (Optional[dict]) –

Return type:

None

clean_job_artifacts(job_id, raise_on_error=False, properties=None, **kw)#
Parameters:
  • job_id (int) –

  • properties (Optional[dict]) –

cleanup(wait=True)#
Parameters:

wait (bool) –

Return type:

None

delete(path, request_options=None, error_msg=None, raise_on_error=True)#
Parameters:
  • path (str) –

  • request_options (Optional[dict]) –

  • error_msg (Optional[str]) –

  • raise_on_error (bool) –

Return type:

dict

get(path, request_options=None, error_msg=None, raise_on_error=True)#
Parameters:
  • path (str) –

  • request_options (Optional[dict]) –

  • error_msg (Optional[str]) –

  • raise_on_error (bool) –

Return type:

dict

get_all_job_properties(raise_on_error=True, request_options=None, filter=None, update_time=None)#
Parameters:

request_options (Optional[dict]) –

Return type:

List[dict]

get_full_status(job_id, request_options=None)[source]#
Parameters:

job_id (int) –

Return type:

dict

get_headers()#
Return type:

dict

get_job_properties(job_id, raise_on_error=True, request_options=None)#
Parameters:
  • job_id (int) –

  • request_options (Optional[dict]) –

Return type:

Optional[dict]

get_status(job_id, request_options=None)[source]#
Parameters:

job_id (int) –

Return type:

str

get_stdout_stderr(job_id, **kw)#
Parameters:

job_id (int) –

Return type:

Tuple[StdInfo, StdInfo]

log_stdout_stderr(job_id, logger=None, level=20, **kw)[source]#
Parameters:

job_id (int) –

Return type:

None

post(path, json=None, request_options=None, raise_on_error=True, error_msg=None)#
Parameters:
  • path (str) –

  • json (Optional[dict]) –

  • request_options (Optional[dict]) –

  • raise_on_error (bool) –

  • error_msg (Optional[str]) –

Return type:

dict

print_stdout_stderr(job_id)[source]#
Parameters:

job_id (int) –

server_has_api(request_options=None)#
Parameters:

request_options (Optional[dict]) –

Return type:

bool

submit_job(script, parameters=None, metadata=None, request_options=None)#

Returns the SLURM job ID

Parameters:
  • script (str) –

  • parameters (Optional[dict]) –

  • metadata (Union[str, dict, None]) –

  • request_options (Optional[dict]) –

Return type:

int

submit_script(script=None, **kw)[source]#

Submit a script. Assume it is a bash script in the absence of a shebang.

Parameters:

script (Union[str, Sequence[str], None]) –

Return type:

int

wait_done(job_id, progress=False, timeout=None, period=0.5)[source]#
Parameters:
  • job_id (int) –

  • progress (bool) –

  • timeout (Optional[Number]) –

  • period (float) –

Return type:

str