:doc:`SFN <../../stepfunctions>` / Client / send_task_heartbeat

*******************
send_task_heartbeat
*******************



.. py:method:: SFN.Client.send_task_heartbeat(**kwargs)

  

  Used by activity workers and Task states using the `callback <https://docs.aws.amazon.com/step-functions/latest/dg/connect-to-resource.html#connect-wait-token>`__ pattern, and optionally Task states using the `job run <https://docs.aws.amazon.com/step-functions/latest/dg/connect-to-resource.html#connect-sync>`__ pattern to report to Step Functions that the task represented by the specified ``taskToken`` is still making progress. This action resets the ``Heartbeat`` clock. The ``Heartbeat`` threshold is specified in the state machine's Amazon States Language definition ( ``HeartbeatSeconds``). This action does not in itself create an event in the execution history. However, if the task times out, the execution history contains an ``ActivityTimedOut`` entry for activities, or a ``TaskTimedOut`` entry for tasks using the `job run <https://docs.aws.amazon.com/step-functions/latest/dg/connect-to-resource.html#connect-sync>`__ or `callback <https://docs.aws.amazon.com/step-functions/latest/dg/connect-to-resource.html#connect-wait-token>`__ pattern.

   

  .. note::

    

    The ``Timeout`` of a task, defined in the state machine's Amazon States Language definition, is its maximum allowed duration, regardless of the number of  SendTaskHeartbeat requests received. Use ``HeartbeatSeconds`` to configure the timeout interval for heartbeats.

    

  

  See also: `AWS API Documentation <https://docs.aws.amazon.com/goto/WebAPI/states-2016-11-23/SendTaskHeartbeat>`_  


  **Request Syntax**
  ::

    response = client.send_task_heartbeat(
        taskToken='string'
    )
    
  :type taskToken: string
  :param taskToken: **[REQUIRED]** 

    The token that represents this task. Task tokens are generated by Step Functions when tasks are assigned to a worker, or in the `context object <https://docs.aws.amazon.com/step-functions/latest/dg/input-output-contextobject.html>`__ when a workflow enters a task state. See  GetActivityTaskOutput$taskToken.

    

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

    
    ::

      {}
      
    **Response Structure**

    

    - *(dict) --* 
  
  **Exceptions**
  
  *   :py:class:`SFN.Client.exceptions.TaskDoesNotExist`

  
  *   :py:class:`SFN.Client.exceptions.InvalidToken`

  
  *   :py:class:`SFN.Client.exceptions.TaskTimedOut`

  