Cloud Tasks — queues of individually-addressed work, with rate limits, retries and a scheduled time
The service for handing one piece of work to one HTTP endpoint, later. The queue-and-task model, the two target types, the three controls that make it different from a message bus, and when to choose it over Pub/Sub.
markdownreferencev1PTE2-E006stage: designtrust: officialfamily: messagingservice: cloud-tasksinterface: anycloud tasksqueuetaskHTTP targetApp Engine targetrate limitsretry parametersscheduled delivery timeasynchronous work
Cloud Tasks
1. What it is
"Cloud Tasks lets you separate out pieces of work that can be performed independently, outside of your main application flow, and send them off to be processed, asynchronously."
2. Two objects
| Object | What it is |
|---|---|
| queue | "a managed set of tasks with the same target type and configuration" |
| task | one unit of work: a unique name, its configuration, and an optional payload |
The queue carries the configuration. So a queue is a policy, and work needing different rates, retries or targets needs different queues — not different task fields.
A task having a unique name is the detail that matters most in practice: it is what makes de-duplication possible on the producer side, before the work is ever dispatched.
3. Two target types
- HTTP/S endpoints — Cloud Run, GKE, Compute Engine, and on-premises servers;
- App Engine applications — standard second-generation or flexible environments only.
The on-premises reach is worth noting for a hybrid migration: a Google Cloud queue can dispatch to a target that has not moved yet.
4. The three controls, and why they are the reason to choose it
| Control | What it gives you |
|---|---|
| rate limits | control the dispatch frequency — protect a fragile downstream from a burst |
| retry parameters | per-queue handling of failed tasks |
| scheduled delivery time | "Schedule specific delivery times" — a task can be for later |
Those three are what a message bus does not give you per item. The decision rule:
| Choose | When |
|---|---|
| Cloud Tasks | each item is a job for one endpoint; you need to throttle the dispatch rate; or an item must run at a specific future time |
| Pub/Sub | the event may have many consumers, you want fan-out, high throughput, or ordering by key (reference/messaging/pubsub.md) |
Recorded honestly: the Cloud Tasks overview does not itself compare the two — it links a Cloud Scheduler comparison instead. The rule above is the hub's reading from the two services' documented properties, and it is labelled as such.
5. For a migration estimate
Cloud Tasks is the closest Google Cloud thing to "a worker queue with a rate limit and a delay", which on AWS
is SQS plus either a Lambda event-source mapping with concurrency controls or EventBridge Scheduler, and on
Azure is Storage queues or Service Bus plus scheduled enqueue. Because the Google Cloud service bundles the
rate limit and the schedule into the queue, a design arriving from either cloud often collapses two or
three components into one. Note the collapse explicitly in the estimate — see guides/parity/messaging.md.