Both Cloud Tasks and Cloud Scheduler can be used to initiate actions outside of the immediate context. But they have significant differences in functionality and usage. This page helps you understand the differences between them.
Key Differences
In general, there are four main differences between Cloud Scheduler and Cloud Tasks.
Feature | Cloud Scheduler | Cloud Tasks |
---|---|---|
Triggering | Triggers actions at regular fixed intervals. You set up the interval when you create the cron job, and the rate does not change for the life of the job. | Triggers actions based on how the individual task object is configured. If the `scheduleTime` field is set, the action is triggered at that time. If the field is not set, the queue processes its tasks in a non-fixed order. |
Setting rates | Initiates actions on a fixed periodic schedule. Once a minute is the most fine-grained interval supported. | Initiates actions based on the amount of traffic coming through the queue. You can set a maximum rate when you create the queue, for throttling or traffic smoothing purposes, up to 500 dispatches per second. |
Naming | Except for the time of execution, each run of a cron job is exactly the same as every other run of that cron job. | Each task has a unique name, and can be identified and managed individually in the queue. |
Handling failure | If the execution of a cron job fails, the failure is logged. If retry behavior is not specifically configured, the job is not rerun until the next scheduled interval. | If the execution of a task fails, the task is re-tried until it succeeds. You can limit retries based on the number of attempts and/or the age of the task, and you can control the interval between attempts in the configuration of the queue. |