start_next_pending_job_execution

start_next_pending_job_execution(**kwargs)

Gets and starts the next pending (status IN_PROGRESS or QUEUED) job execution for a thing.

See also: AWS API Documentation

Request Syntax

response = client.start_next_pending_job_execution(
    thingName='string',
    statusDetails={
        'string': 'string'
    },
    stepTimeoutInMinutes=123
)
Parameters
  • thingName (string) --

    [REQUIRED]

    The name of the thing associated with the device.

  • statusDetails (dict) --

    A collection of name/value pairs that describe the status of the job execution. If not specified, the statusDetails are unchanged.

    • (string) --
      • (string) --
  • stepTimeoutInMinutes (integer) -- Specifies the amount of time this device has to finish execution of this job. If the job execution status is not set to a terminal state before this timer expires, or before the timer is reset (by calling UpdateJobExecution , setting the status to IN_PROGRESS and specifying a new timeout value in field stepTimeoutInMinutes ) the job execution status will be automatically set to TIMED_OUT . Note that setting this timeout has no effect on that job execution timeout which may have been specified when the job was created ( CreateJob using field timeoutConfig ).
Return type

dict

Returns

Response Syntax

{
    'execution': {
        'jobId': 'string',
        'thingName': 'string',
        'status': 'QUEUED'|'IN_PROGRESS'|'SUCCEEDED'|'FAILED'|'TIMED_OUT'|'REJECTED'|'REMOVED'|'CANCELED',
        'statusDetails': {
            'string': 'string'
        },
        'queuedAt': 123,
        'startedAt': 123,
        'lastUpdatedAt': 123,
        'approximateSecondsBeforeTimedOut': 123,
        'versionNumber': 123,
        'executionNumber': 123,
        'jobDocument': 'string'
    }
}

Response Structure

  • (dict) --

    • execution (dict) --

      A JobExecution object.

      • jobId (string) --

        The unique identifier you assigned to this job when it was created.

      • thingName (string) --

        The name of the thing that is executing the job.

      • status (string) --

        The status of the job execution. Can be one of: "QUEUED", "IN_PROGRESS", "FAILED", "SUCCESS", "CANCELED", "REJECTED", or "REMOVED".

      • statusDetails (dict) --

        A collection of name/value pairs that describe the status of the job execution.

        • (string) --
          • (string) --
      • queuedAt (integer) --

        The time, in milliseconds since the epoch, when the job execution was enqueued.

      • startedAt (integer) --

        The time, in milliseconds since the epoch, when the job execution was started.

      • lastUpdatedAt (integer) --

        The time, in milliseconds since the epoch, when the job execution was last updated.

      • approximateSecondsBeforeTimedOut (integer) --

        The estimated number of seconds that remain before the job execution status will be changed to TIMED_OUT .

      • versionNumber (integer) --

        The version of the job execution. Job execution versions are incremented each time they are updated by a device.

      • executionNumber (integer) --

        A number that identifies a particular job execution on a particular device. It can be used later in commands that return or update job execution information.

      • jobDocument (string) --

        The content of the job document.

Exceptions

  • IoTJobsDataPlane.Client.exceptions.InvalidRequestException
  • IoTJobsDataPlane.Client.exceptions.ResourceNotFoundException
  • IoTJobsDataPlane.Client.exceptions.ThrottlingException
  • IoTJobsDataPlane.Client.exceptions.ServiceUnavailableException
  • IoTJobsDataPlane.Client.exceptions.CertificateValidationException