Internal Jobs#

class InternalJobStatusEnum(value)[source]#

Bases: str, Enum

The state of a record object. The states which are available are a finite set.

complete = 'complete'#
waiting = 'waiting'#
running = 'running'#
error = 'error'#
cancelled = 'cancelled'#
class InternalJob(client=None, refresh_url=None, *, id, name, status, added_date, scheduled_date, started_date=None, last_updated=None, ended_date=None, runner_hostname=None, runner_uuid=None, repeat_delay=None, serial_group=None, progress, progress_description=None, function, kwargs, after_function=None, after_function_kwargs=None, result=None, user=None)[source]#

Bases: BaseModel

Create a new model by parsing and validating input data from keyword arguments.

Raises ValidationError if the input data cannot be parsed to form a valid model.

Parameters:
  • id (int)

  • name (str)

  • status (InternalJobStatusEnum)

  • added_date (datetime)

  • scheduled_date (datetime)

  • started_date (datetime | None)

  • last_updated (datetime | None)

  • ended_date (datetime | None)

  • runner_hostname (str | None)

  • runner_uuid (str | None)

  • repeat_delay (int | None)

  • serial_group (str | None)

  • progress (int)

  • progress_description (str | None)

  • function (str)

  • kwargs (Dict[str, Any])

  • after_function (str | None)

  • after_function_kwargs (Dict[str, Any] | None)

  • result (Any)

  • user (str | None)

class Config[source]#

Bases: object

extra = 'forbid'#
id: int#
name: str#
status: InternalJobStatusEnum#
added_date: datetime#
scheduled_date: datetime#
started_date: datetime | None#
last_updated: datetime | None#
ended_date: datetime | None#
runner_hostname: str | None#
runner_uuid: str | None#
repeat_delay: int | None#
serial_group: str | None#
progress: int#
progress_description: str | None#
function: str#
kwargs: Dict[str, Any]#
after_function: str | None#
after_function_kwargs: Dict[str, Any] | None#
result: Any#
user: str | None#
refresh()[source]#

Updates the data of this object with information from the server

watch(interval=2.0, timeout=None)[source]#

Watch an internal job for completion

Will poll every interval seconds until the job is finished (complete, error, cancelled, etc).

Parameters:
  • interval (float) – Time (in seconds) between polls on the server

  • timeout (float | None) – Max amount of time (in seconds) to wait. If None, will wait forever.

property duration: timedelta#
property duration_str: str#
class InternalJobQueryFilters(*, include=None, exclude=None, limit=None, cursor=None, job_id=None, name=None, user=None, runner_hostname=None, status=None, last_updated_before=None, last_updated_after=None, added_before=None, added_after=None, scheduled_before=None, scheduled_after=None)[source]#

Bases: QueryProjModelBase

Create a new model by parsing and validating input data from keyword arguments.

Raises ValidationError if the input data cannot be parsed to form a valid model.

Parameters:
  • include (List[str] | None)

  • exclude (List[str] | None)

  • limit (int | None)

  • cursor (int | None)

  • job_id (List[int] | None)

  • name (List[str] | None)

  • user (List[int | str] | None)

  • runner_hostname (List[str] | None)

  • status (List[InternalJobStatusEnum] | None)

  • last_updated_before (datetime | None)

  • last_updated_after (datetime | None)

  • added_before (datetime | None)

  • added_after (datetime | None)

  • scheduled_before (datetime | None)

  • scheduled_after (datetime | None)

job_id: List[int] | None#
name: List[str] | None#
user: List[int | str] | None#
runner_hostname: List[str] | None#
status: List[InternalJobStatusEnum] | None#
last_updated_before: datetime | None#
last_updated_after: datetime | None#
added_before: datetime | None#
added_after: datetime | None#
scheduled_before: datetime | None#
scheduled_after: datetime | None#
classmethod parse_dates(v)[source]#
class Config#

Bases: object

extra = 'forbid'#
validate_assignment = True#
classmethod validate_lists(v)#
limit: int | None#
cursor: int | None#
include: List[str] | None#
exclude: List[str] | None#
class InternalJobQueryIterator(client, query_filters)[source]#

Bases: QueryIteratorBase[InternalJob]

Iterator for internal job queries

This iterator transparently handles batching and pagination over the results of an internal job query.

Construct an iterator

Parameters:
  • client – QCPortal client object used to contact/retrieve data from the server

  • query_filters (InternalJobQueryFilters) – The actual query information to send to the server

reset()#

Starts retrieval of results from the beginning again