src/IronMQ.php
public function touchMessage($queue_name, $message_id, $reservation_id, $timeout)
    {
        $req = array(
            "reservation_id" => $reservation_id,
        );
        if ($timeout !== 0) {
            $req['timeout'] = (int) $timeout;
        }
        $this->setJsonHeaders();
        $queue = rawurlencode($queue_name);
        $url = "projects/{$this->project_id}/queues/$queue/messages/{$message_id}/touch";
        return self::json_decode($this->apiCall(self::POST, $url, $req));
    }
public function touchMessage($queue_name, $message_id, $reservation_id, $timeout)
    {
        $req = array(
            "reservation_id" => $reservation_id,
        );
        if ($timeout !== 0) {
            $req['timeout'] = (int) $timeout;
        }
        $this->setJsonHeaders();
        $queue = rawurlencode($queue_name);
        $url = "projects/{$this->project_id}/queues/$queue/messages/{$message_id}/touch";
        return self::json_decode($this->apiCall(self::POST, $url, $req));
    }
Touch a Message on a Queue
Touching a reserved message extends its timeout by the duration specified when the message was created,
which is 60 seconds by default.

@param string $queue_name
@param string $message_id
@param int $timeout
@return mixed