Add an HTTP target task to a Cloud Tasks queue
This quickstart shows you how to add an HTTP target task to a Cloud Tasks queue using the Cloud Tasks API.
Before you begin
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
Create or select a Google Cloud project.
-
Create a Google Cloud project:
gcloud projects create PROJECT_ID
Replace
PROJECT_ID
with a name for the Google Cloud project you are creating. -
Select the Google Cloud project that you created:
gcloud config set project PROJECT_ID
Replace
PROJECT_ID
with your Google Cloud project name.
-
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Cloud Tasks API:
gcloud services enable cloudtasks.googleapis.com
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
Create or select a Google Cloud project.
-
Create a Google Cloud project:
gcloud projects create PROJECT_ID
Replace
PROJECT_ID
with a name for the Google Cloud project you are creating. -
Select the Google Cloud project that you created:
gcloud config set project PROJECT_ID
Replace
PROJECT_ID
with your Google Cloud project name.
-
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Cloud Tasks API:
gcloud services enable cloudtasks.googleapis.com
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
Create a Cloud Tasks queue
Use the gcloud tasks queues create
command to create your queue.
In your terminal, create a queue that logs all operations.
gcloud tasks queues create QUEUE_NAME \ --log-sampling-ratio=1.0 \ --location=REGION
Replace the following:
QUEUE_NAME
: a name for your Cloud Tasks queueREGION
: the region you deployed your service or app in
Wait for the queue to initialize and then verify that it was created successfully.
gcloud tasks queues describe QUEUE_NAME \ --location=REGION
The output should be similar to the following:
name: projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_NAME rateLimits: maxBurstSize: 100 maxConcurrentDispatches: 1000 maxDispatchesPerSecond: 500.0 retryConfig: maxAttempts: 100 maxBackoff: 3600s maxDoublings: 16 minBackoff: 0.100s state: RUNNING
Add a task to the Cloud Tasks queue
Use the
gcloud tasks create-http-task
command to create a task that targets an HTTP endpoint and add the task to your
queue.
Create a task, add it to the queue you created, and deliver that task to an HTTP endpoint.
gcloud tasks create-http-task \ --queue=QUEUE_NAME \ --url=URL_PATH \ --method=GET \ --location=REGION \ --project=PROJECT_ID
Replace
URL_PATH
with the full URL path that the request will be sent to. For example:https://www.google.com
The path must begin with either
http://
orhttps://
.Verify that the task was executed successfully by reading the logs.
gcloud logging read --limit=3
The logs should look similar to the following:
jsonPayload: '@type': type.googleapis.com/google.cloud.tasks.logging.v1.TaskActivityLog task: projects/PROJECT_ID/locations/REGION/queues/QUEUE_NAME/tasks/TASK_ID taskCreationLog: scheduleTime: '2024-07-04T19:00:27.801837Z' status: OK targetAddress: GET https://www.google.com/ targetType: HTTP
Clean up
To avoid incurring charges to your Google Cloud account for the resources used on this page, delete the Google Cloud project with the resources.
Delete a Google Cloud project:
gcloud projects delete PROJECT_ID
Alternatively, you can delete the Cloud Tasks queue:
gcloud tasks queues delete QUEUE_NAME \
--location=REGION