cook package

Submodules

cook.exceptions module

exception cook.exceptions.JobClientError

Bases: exceptions.Exception

cook.jobclient module

class cook.jobclient.JobClient(url, auth='http_basic', http_user=None, http_password=None, batch_request_size=32, status_update_interval_secs=10, request_timeout_secs=60, default_job_settings={'max_retries': 1})

Bases: object

delete(jobs)

Delete one or more jobs

Parameters:jobs (list) – Jobs to delete
Raises:AssertionError, JobClientError
get_auth()

Returns the authentication method

Returns:The auth method
Return type:str
get_default_job_settings()

Returns the default job settings

Returns:The job settings
Return type:dict
get_url()

Returns the Cook API URL

Returns:The URL
Return type:str
list(user='docs', state=['success', 'running', 'failed', 'completed', 'waiting'], start_time=None, stop_time=None, limit=None)

List jobs run by a given user over a specific time range.

Parameters:
  • user (str) – Username of user who ran the jobs
  • state (str or list) – One or more states to query for. Valid states are ‘success’, ‘running’, ‘failed’, ‘completed’, ‘waiting’.
  • start_time (datetime or None) – Considers all jobs submitted after this time
  • stop_time (datetime or None) – Considers all jobs submitted before this time
  • limit (int or None) – Limit the number of jobs returned
Raises:

AssertionError, JobClientError

query(jobs)

Query one or more jobs

Parameters:jobs (list) – Jobs to query
Returns:Jobs information
Return type:list
Raises:AssertionError, JobClientError
retry(jobs, retries)

Retry a job

Parameters:
  • jobs (list) – Job UUIDs
  • retries (int) – Number of retries
Raises:

JobClientError

submit(jobs)

Submit one or more jobs

Parameters:jobs (list) – Jobs to submit
Raises:AssertionError, JobClientError
wait(jobs)

Wait for jobs to complete

Parameters:jobs (list) – List of jobs to wait for
Yields:dict – The job information

Module contents