SerializedJob

pydantic model safir.uws.SerializedJob

A single UWS job (Wobbly format).

Parameters:

data (Any)

Fields:
field creation_time: Annotated[UtcDatetime, Field(title='Creation time', description='When the job was created', examples=['2024-10-29T23:57:55+00:00'])] [Required]

When the job was created

Constraints:
  • func = <function normalize_datetime at 0x7ff01c54ede0>

field end_time: Annotated[UtcDatetime | None, Field(title='End time', description='When the job stopped executing (if it has)', examples=['2024-10-30T00:08:45+00:00', None])] = None

When the job stopped executing (if it has)

field errors: Annotated[list[JobError], Field(title='Error', description='Error information if the job failed')] = []

Error information if the job failed

field id: Annotated[str, Field(title='Job ID', description='Unique identifier of the job', examples=['47183']), BeforeValidator(lambda v: str(v) if isinstance(v, int) else v)] [Required]

Unique identifier of the job

Constraints:
  • func = <function <lambda> at 0x7ff016666840>

  • json_schema_input_type = PydanticUndefined

field message_id: Annotated[str | None, Field(title='Work queue message ID', description='Internal message identifier for the work queuing system. Only meaningful to the service that stored this ID.', examples=['e621a175-e3bf-4a61-98d7-483cb5fb9ec2'])] = None

Internal message identifier for the work queuing system. Only meaningful to the service that stored this ID.

field owner: Annotated[str, Field(title='Job owner', description='Identity of the owner of the job', examples=['someuser'])] [Required]

Identity of the owner of the job

field phase: Annotated[ExecutionPhase, Field(title='Execution phase', description='Current execution phase of the job', examples=[ExecutionPhase.PENDING, ExecutionPhase.EXECUTING, ExecutionPhase.COMPLETED])] [Required]

Current execution phase of the job

field quote: Annotated[UtcDatetime | None, Field(title='Expected completion time', description='Expected completion time of the job if it were started now, or null to indicate that the expected duration is not known. If later than the destruction time, indicates that the job is not possible due to resource constraints.')] = None

Expected completion time of the job if it were started now, or null to indicate that the expected duration is not known. If later than the destruction time, indicates that the job is not possible due to resource constraints.

field results: Annotated[list[JobResult], Field(title='Job results', description='Results of the job, if it has finished')] = []

Results of the job, if it has finished

field service: Annotated[str, Field(title='Service', description='Service responsible for this job', examples=['vo-cutouts'])] [Required]

Service responsible for this job

field start_time: Annotated[UtcDatetime | None, Field(title='Start time', description='When the job started executing (if it has)', examples=['2024-10-30T00:00:21+00:00', None])] = None

When the job started executing (if it has)

to_job_description(base_url)

Convert to the Pydantic XML model used for the summary of jobs.

Parameters:

base_url (str) – Base URL for the full jobs.

Return type:

ShortJobDescription