Cloud Tasks

5. Queues

  • Most standard App Engine apps use queue.yaml to configure queues in the App Engine Task Queue service. 
  • For Java apps, the queue.xml file is used instead. 
  • The Cloud Tasks API provides an App Engine-independent interface to the App Engine Task Queue service. 
  • Cloud Tasks API provides the ability to manage queues, including doing so via the console or the gcloud command. 
  • Queues that are created by Cloud Tasks API are accessible from the App Engine SDK and vice versa. 
  • To maintain compatibility, it is possible to use the configuration file used by the App Engine SDK, queue.yaml, to create and configure queues used via the Cloud Tasks API. 
  • Mixing configuration via file with configuration via the Cloud Tasks API can produce unexpected consequences.
  • It is strongly recommended to use either the configuration file method or the Cloud Tasks API to configure queues, but not both.
  • If new to Cloud Tasks or App Engine, use the Cloud Tasks API exclusively to manage queues and avoid the use of queue.yaml and queue.xml altogether. 
  • Cloud Tasks queue management methods give users more choice in creating, updating, and deleting queues.
  • Inspect project's Admin Activity audit logs to retrieve the history of queue configuration changes including queue creations, updates, and deletions:
  • If queue.yaml is mixed with Cloud Tasks queue management methods, uploading a queue.yaml file might accidentally disable a queue created through the Cloud Tasks API.
  • Resuming many high-QPS queues at the same time can lead to target overloading. 
  • If resuming high-QPS queues, follow the 500/50/5 pattern 
  • If queue.yaml is used to create queues, by default, create a maximum of 100 queues. 
  • Queues created using the Cloud Tasks API have a default maximum of 1,000 queues.