:doc:`DataPipeline <../../datapipeline>` / Client / report_task_progress

********************
report_task_progress
********************



.. py:method:: DataPipeline.Client.report_task_progress(**kwargs)

  

  Task runners call ``ReportTaskProgress`` when assigned a task to acknowledge that it has the task. If the web service does not receive this acknowledgement within 2 minutes, it assigns the task in a subsequent  PollForTask call. After this initial acknowledgement, the task runner only needs to report progress every 15 minutes to maintain its ownership of the task. You can change this reporting time from 15 minutes by specifying a ``reportProgressTimeout`` field in your pipeline.

   

  If a task runner does not report its status after 5 minutes, AWS Data Pipeline assumes that the task runner is unable to process the task and reassigns the task in a subsequent response to  PollForTask. Task runners should call ``ReportTaskProgress`` every 60 seconds.

  

  See also: `AWS API Documentation <https://docs.aws.amazon.com/goto/WebAPI/datapipeline-2012-10-29/ReportTaskProgress>`_  


  **Request Syntax**
  ::

    response = client.report_task_progress(
        taskId='string',
        fields=[
            {
                'key': 'string',
                'stringValue': 'string',
                'refValue': 'string'
            },
        ]
    )
    
  :type taskId: string
  :param taskId: **[REQUIRED]** 

    The ID of the task assigned to the task runner. This value is provided in the response for  PollForTask.

    

  
  :type fields: list
  :param fields: 

    Key-value pairs that define the properties of the ReportTaskProgressInput object.

    

  
    - *(dict) --* 

      A key-value pair that describes a property of a pipeline object. The value is specified as either a string value ( ``StringValue``) or a reference to another object ( ``RefValue``) but not as both.

      

    
      - **key** *(string) --* **[REQUIRED]** 

        The field identifier.

        

      
      - **stringValue** *(string) --* 

        The field value, expressed as a String.

        

      
      - **refValue** *(string) --* 

        The field value, expressed as the identifier of another object.

        

      
    

  
  :rtype: dict
  :returns: 
    
    **Response Syntax**

    
    ::

      {
          'canceled': True|False
      }
      
    **Response Structure**

    

    - *(dict) --* 

      Contains the output of ReportTaskProgress.

      
      

      - **canceled** *(boolean) --* 

        If true, the calling task runner should cancel processing of the task. The task runner does not need to call  SetTaskStatus for canceled tasks.

        
  
  **Exceptions**
  
  *   :py:class:`DataPipeline.Client.exceptions.InternalServiceError`

  
  *   :py:class:`DataPipeline.Client.exceptions.InvalidRequestException`

  
  *   :py:class:`DataPipeline.Client.exceptions.TaskNotFoundException`

  
  *   :py:class:`DataPipeline.Client.exceptions.PipelineNotFoundException`

  
  *   :py:class:`DataPipeline.Client.exceptions.PipelineDeletedException`

  