A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from http://cloud.google.com/appengine/docs/legacy/standard/php/taskqueue/push/creating-tasks below:

Creating Tasks | App Engine standard environment for PHP 5

Creating Tasks

Stay organized with collections Save and categorize content based on your preferences.

This page describes how to create tasks and place them in push queues. When you want to process a task, you must create a new task object and place it on a queue. You can explicitly specify the service and handler that process the task, and optionally pass task-specific data along to the handler. You can also fine-tune the configuration for the task, like scheduling a time in the future when it should be executed or limiting the number of times you want the task to be retried if it fails.

This API is supported for first-generation runtimes and can be used when upgrading to corresponding second-generation runtimes. If you are updating to the App Engine PHP 7/8 runtime, refer to the migration guide to learn about your migration options for legacy bundled services. Creating a new task

To create and enqueue a task, create a PushTask object and call its add() method. You can add to a queue specified in queue.yaml by supplying a queue name argument to add(). Alternatively, calling add() with no arguments will add the task to the default queue.

You can also add tasks in bulk to a queue using PushQueue. In the following example, two PushTask objects are added to a PushQueue using the addTasks() method.

The following code sample shows how to add a single task:

The following code sample shows how to add multiple tasks at once:

When you use PushTask and PushQueue, include these statements at the top of your PHP file:

Specifying the worker service

When a task is popped off its queue, the Task Queue service sends it on to a worker service. Every task has a target and a url, which determine what service and handler will ultimately perform the task.

target

The target specifies the service that will receive the HTTP request to perform the task. It is a string that specifies a service/version/instance in any one of the canonical forms. The most often-used forms are:

    service
    version.service
    instance.version.service

The target string is prepended to the domain name of your app. There are three ways to set the target for a task:

url

The url selects one of the handlers in the target service, which will perform the task.

The url should match one of the handler URL patterns in the target service. The url can include query parameters if the method specified in the task is GET or PULL. If no url is specified the default URL /_ah/queue/[QUEUE_NAME] is used, where [QUEUE_NAME] is the name of the task's queue.

Passing data to the handler

You can pass data to the handler as query parameters in the task's URL, but only if the method specified in the task is GET or PULL.

The PushTask constructor has a positional argument for query_data. The data is usually a dictionary of key-value pairs. If the task's method is POST or PUT, the data is added to the payload of the HTTP request. If the method is GET it is added to the URL as query parameters.

Naming a task

When you create a new task, App Engine assigns the task a unique name by default. However, you can assign your own name to a task by using the name parameter. An advantage of assigning your own task names is that named tasks are de-duplicated, which means you can use task names to guarantee that a task is only added once. De-duplication continues for 9 days after the task is completed or deleted.

Note that de-duplication logic introduces significant performance overhead, resulting in increased latencies and potentially increased error rates associated with named tasks. These costs can be magnified significantly if task names are sequential, such as with timestamps. So, if you assign your own names, we recommend using a well-distributed prefix for task names, such as a hash of the contents.

If you assign your own names to tasks, note that the maximum name length is 500 characters, and the name can contain uppercase and lowercase letters, numbers underscores, and hyphens.

What's next

Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.

Last updated 2025-08-07 UTC.

[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-07 UTC."],[[["This document details how to create and enqueue tasks within push queues, using `PushTask` and `PushQueue` objects."],["Tasks can be assigned to specific worker services and handlers via a `target` (service) and `url` (handler), with options to set the target when constructing the task or within the queue's configuration."],["Data can be passed to handlers as query parameters for `GET` or `PULL` methods, or within the HTTP request payload for `POST` or `PUT` methods, using the `PushTask` constructor."],["While App Engine generates unique task names, you can assign custom names for de-duplication, ensuring a task is only added once within a 9-day window, although this carries a performance overhead."],["This API supports first-generation runtimes and can be used for updating to second-generation runtimes, with a migration guide available for the PHP 7/8 runtime."]]],[]]


RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4