# TaskQueue API . tasks

## Instance Methods

Delete a task from a TaskQueue.

Get a particular task from a TaskQueue.

Insert a new task in a TaskQueue

Lease 1 or more tasks from a TaskQueue.

List Tasks in a TaskQueue

Update tasks that are leased out of a TaskQueue. This method supports patch semantics.

Update tasks that are leased out of a TaskQueue.

### Method Details

`delete(project, taskqueue, task)`

    Delete a task from a TaskQueue.

    Args:
      project: string, The project under which the queue lies. (required)
      taskqueue: string, The taskqueue to delete a task from. (required)
      task: string, The id of the task to delete. (required)

`get(project, taskqueue, task)`

    Get a particular task from a TaskQueue.

    Args:
      project: string, The project under which the queue lies. (required)
      taskqueue: string, The taskqueue in which the task belongs. (required)
      task: string, The task to get properties of. (required)

    Returns:
      An object of the form:

        {
          "kind": "taskqueues#task", # The kind of object returned, in this case set to task.
          "leaseTimestamp": "A String", # Time (in seconds since the epoch) at which the task lease will expire. This value is 0 if the task isnt currently leased out to a worker.
          "id": "A String", # Name of the task.
          "retry_count": 42, # The number of leases applied to this task.
          "tag": "A String", # Tag for the task, could be used later to lease tasks grouped by a specific tag.
          "payloadBase64": "A String", # A bag of bytes which is the task payload. The payload on the JSON side is always Base64 encoded.
          "queueName": "A String", # Name of the queue that the task is in.
          "enqueueTimestamp": "A String", # Time (in seconds since the epoch) at which the task was enqueued.
        }

`insert(project, taskqueue, body)`

    Insert a new task in a TaskQueue

    Args:
      project: string, The project under which the queue lies (required)
      taskqueue: string, The taskqueue to insert the task into (required)
      body: object, The request body. (required)
        The object takes the form of:

    {
        "kind": "taskqueues#task", # The kind of object returned, in this case set to task.
        "leaseTimestamp": "A String", # Time (in seconds since the epoch) at which the task lease will expire. This value is 0 if the task isnt currently leased out to a worker.
        "id": "A String", # Name of the task.
        "retry_count": 42, # The number of leases applied to this task.
        "tag": "A String", # Tag for the task, could be used later to lease tasks grouped by a specific tag.
        "payloadBase64": "A String", # A bag of bytes which is the task payload. The payload on the JSON side is always Base64 encoded.
        "queueName": "A String", # Name of the queue that the task is in.
        "enqueueTimestamp": "A String", # Time (in seconds since the epoch) at which the task was enqueued.
      }

    Returns:
      An object of the form:

        {
          "kind": "taskqueues#task", # The kind of object returned, in this case set to task.
          "leaseTimestamp": "A String", # Time (in seconds since the epoch) at which the task lease will expire. This value is 0 if the task isnt currently leased out to a worker.
          "id": "A String", # Name of the task.
          "retry_count": 42, # The number of leases applied to this task.
          "tag": "A String", # Tag for the task, could be used later to lease tasks grouped by a specific tag.
          "payloadBase64": "A String", # A bag of bytes which is the task payload. The payload on the JSON side is always Base64 encoded.
          "queueName": "A String", # Name of the queue that the task is in.
          "enqueueTimestamp": "A String", # Time (in seconds since the epoch) at which the task was enqueued.
        }

`lease(project, taskqueue, numTasks, leaseSecs, groupByTag=None, tag=None)`

    Lease 1 or more tasks from a TaskQueue.

    Args:
      project: string, The project under which the queue lies. (required)
      taskqueue: string, The taskqueue to lease a task from. (required)
      numTasks: integer, The number of tasks to lease. (required)
      leaseSecs: integer, The lease in seconds. (required)
      groupByTag: boolean, When true, all returned tasks will have the same tag
      tag: string, The tag allowed for tasks in the response. Must only be specified if group_by_tag is true. If group_by_tag is true and tag is not specified the tag will be that of the oldest task by eta, i.e. the first available tag

    Returns:
      An object of the form:

        {
        "items": [ # The actual list of tasks returned as a result of the lease operation.
          {
              "kind": "taskqueues#task", # The kind of object returned, in this case set to task.
              "leaseTimestamp": "A String", # Time (in seconds since the epoch) at which the task lease will expire. This value is 0 if the task isnt currently leased out to a worker.
              "id": "A String", # Name of the task.
              "retry_count": 42, # The number of leases applied to this task.
              "tag": "A String", # Tag for the task, could be used later to lease tasks grouped by a specific tag.
              "payloadBase64": "A String", # A bag of bytes which is the task payload. The payload on the JSON side is always Base64 encoded.
              "queueName": "A String", # Name of the queue that the task is in.
              "enqueueTimestamp": "A String", # Time (in seconds since the epoch) at which the task was enqueued.
            },
        ],
        "kind": "taskqueue#tasks", # The kind of object returned, a list of tasks.
      }

`list(project, taskqueue)`

    List Tasks in a TaskQueue

    Args:
      project: string, The project under which the queue lies. (required)
      taskqueue: string, The id of the taskqueue to list tasks from. (required)

    Returns:
      An object of the form:

        {
        "items": [ # The actual list of tasks currently active in the TaskQueue.
          {
              "kind": "taskqueues#task", # The kind of object returned, in this case set to task.
              "leaseTimestamp": "A String", # Time (in seconds since the epoch) at which the task lease will expire. This value is 0 if the task isnt currently leased out to a worker.
              "id": "A String", # Name of the task.
              "retry_count": 42, # The number of leases applied to this task.
              "tag": "A String", # Tag for the task, could be used later to lease tasks grouped by a specific tag.
              "payloadBase64": "A String", # A bag of bytes which is the task payload. The payload on the JSON side is always Base64 encoded.
              "queueName": "A String", # Name of the queue that the task is in.
              "enqueueTimestamp": "A String", # Time (in seconds since the epoch) at which the task was enqueued.
            },
        ],
        "kind": "taskqueues#tasks", # The kind of object returned, a list of tasks.
      }

`patch(project, taskqueue, task, newLeaseSeconds, body)`

    Update tasks that are leased out of a TaskQueue. This method supports patch semantics.

    Args:
      project: string, The project under which the queue lies. (required)
      taskqueue: string, A parameter (required)
      task: string, A parameter (required)
      newLeaseSeconds: integer, The new lease in seconds. (required)
      body: object, The request body. (required)
        The object takes the form of:

    {
        "kind": "taskqueues#task", # The kind of object returned, in this case set to task.
        "leaseTimestamp": "A String", # Time (in seconds since the epoch) at which the task lease will expire. This value is 0 if the task isnt currently leased out to a worker.
        "id": "A String", # Name of the task.
        "retry_count": 42, # The number of leases applied to this task.
        "tag": "A String", # Tag for the task, could be used later to lease tasks grouped by a specific tag.
        "payloadBase64": "A String", # A bag of bytes which is the task payload. The payload on the JSON side is always Base64 encoded.
        "queueName": "A String", # Name of the queue that the task is in.
        "enqueueTimestamp": "A String", # Time (in seconds since the epoch) at which the task was enqueued.
      }

    Returns:
      An object of the form:

        {
          "kind": "taskqueues#task", # The kind of object returned, in this case set to task.
          "leaseTimestamp": "A String", # Time (in seconds since the epoch) at which the task lease will expire. This value is 0 if the task isnt currently leased out to a worker.
          "id": "A String", # Name of the task.
          "retry_count": 42, # The number of leases applied to this task.
          "tag": "A String", # Tag for the task, could be used later to lease tasks grouped by a specific tag.
          "payloadBase64": "A String", # A bag of bytes which is the task payload. The payload on the JSON side is always Base64 encoded.
          "queueName": "A String", # Name of the queue that the task is in.
          "enqueueTimestamp": "A String", # Time (in seconds since the epoch) at which the task was enqueued.
        }

`update(project, taskqueue, task, newLeaseSeconds, body)`

    Update tasks that are leased out of a TaskQueue.

    Args:
      project: string, The project under which the queue lies. (required)
      taskqueue: string, A parameter (required)
      task: string, A parameter (required)
      newLeaseSeconds: integer, The new lease in seconds. (required)
      body: object, The request body. (required)
        The object takes the form of:

    {
        "kind": "taskqueues#task", # The kind of object returned, in this case set to task.
        "leaseTimestamp": "A String", # Time (in seconds since the epoch) at which the task lease will expire. This value is 0 if the task isnt currently leased out to a worker.
        "id": "A String", # Name of the task.
        "retry_count": 42, # The number of leases applied to this task.
        "tag": "A String", # Tag for the task, could be used later to lease tasks grouped by a specific tag.
        "payloadBase64": "A String", # A bag of bytes which is the task payload. The payload on the JSON side is always Base64 encoded.
        "queueName": "A String", # Name of the queue that the task is in.
        "enqueueTimestamp": "A String", # Time (in seconds since the epoch) at which the task was enqueued.
      }

    Returns:
      An object of the form:

        {
          "kind": "taskqueues#task", # The kind of object returned, in this case set to task.
          "leaseTimestamp": "A String", # Time (in seconds since the epoch) at which the task lease will expire. This value is 0 if the task isnt currently leased out to a worker.
          "id": "A String", # Name of the task.
          "retry_count": 42, # The number of leases applied to this task.
          "tag": "A String", # Tag for the task, could be used later to lease tasks grouped by a specific tag.
          "payloadBase64": "A String", # A bag of bytes which is the task payload. The payload on the JSON side is always Base64 encoded.
          "queueName": "A String", # Name of the queue that the task is in.
          "enqueueTimestamp": "A String", # Time (in seconds since the epoch) at which the task was enqueued.
        }