public function releaseMessage($queue_name, $message_id, $reservation_id, $delay)
    {
        $this->setJsonHeaders();
        $queue = rawurlencode($queue_name);
        $params = array('reservation_id' => $reservation_id);
        if ($delay !== 0) {
            $params['delay'] = (int) $delay;
        }
        $url = "projects/{$this->project_id}/queues/$queue/messages/{$message_id}/release";
        return self::json_decode($this->apiCall(self::POST, $url, $params));
    }
public function releaseMessage($queue_name, $message_id, $reservation_id, $delay)
    {
        $this->setJsonHeaders();
        $queue = rawurlencode($queue_name);
        $params = array('reservation_id' => $reservation_id);
        if ($delay !== 0) {
            $params['delay'] = (int) $delay;
        }
        $url = "projects/{$this->project_id}/queues/$queue/messages/{$message_id}/release";
        return self::json_decode($this->apiCall(self::POST, $url, $params));
    }
public function releaseMessage ( $ queue_name , $ message_id , $ reservation_id , $ delay ) { $ this -> setJsonHeaders ( ) ; $ queue = rawurlencode ( $ queue_name ) ; $ params = array ( 'reservation_id' => $ reservation_id ) ; if ( $ delay !== 0 ) { $ params [ 'delay' ] = ( int ) $ delay ; } $ url = "projects/{$this->project_id}/queues/$queue/messages/{$message_id}/release" ; return self :: json_decode ( $ this -> apiCall ( self :: POST , $ url , $ params ) ) ; }
Release a Message on a Queue
Releasing a reserved message unreserves the message and puts it back on the queue,
as if the message had timed out.

@param string $queue_name
@param string $message_id
@param string $reservation_id
@param int $delay The item will not be available on the queue until this many seconds have passed.
Default is 0 seconds. Maximum is 604,800 seconds (7 days).
@return mixed
Release a Message on a Queue Releasing a reserved message unreserves the message and puts it back on the queue as if the message had timed out .