Créer des files d'attente Cloud Tasks

Cette page explique comment créer des files d'attente Cloud Tasks. Lorsqu'elles sont ajoutées à une file d'attente, la file d'attente les distribue et s'assure qu'elles sont traitées de manière fiable par un service, également appelé nœud de calcul.

Veuillez noter les points suivants :

  • Les noms de file d'attente se composent de trois parties: un ID de projet, un emplacement et un ID de file d'attente. Vous devez disposer d'un projet Google Cloud qui fournit l'ID de projet.

  • Si vous utilisez des tâches cibles App Engine, vous devez également disposer d'une application App Engine située dans une région spécifique, dans laquelle votre file d'attente et vos gestionnaires s'exécutent. Notez la région lorsque vous ajoutez l'application.

  • L'utilisation de tâches de cible HTTP ne nécessite pas d'application App Engine. Vous sélectionnez une Google Cloud emplacement lorsque vous créez votre file d'attente.

Créer une file d'attente

Vous pouvez créer une file d'attente de différentes manières:

  • Google Cloud Console
  • à l'aide de la Google Cloud CLI dans votre terminal ou Cloud Shell ;
  • En envoyant une requête directe à l'API Cloud Tasks

Console

  1. Dans la console Google Cloud, accédez à la page Cloud Tasks > Files d'attente.

    Accéder à "Files d'attente"

  2. Cliquez sur Créer une file d'attente.

  3. Saisissez un nom de file d'attente, par exemple my-queue.

  4. Dans la liste Région, sélectionnez un emplacement compatible dans lequel la file d'attente s'exécutera (par exemple, asia-south1).

    Si votre organisation limite l'emplacement des ressources et que vous souhaitez créer votre file d'attente dans us-central1 ou us-central2, la règle d'administration doit autoriser la création de file d'attente dans us-central1 et us-central2 (même si vous n'avez besoin que d'une file d'attente dans l'une de ces régions).

  5. Vous pouvez également configurer davantage votre file d'attente.

  6. Cliquez sur Créer.

gcloud

Utilisez la commande gcloud tasks queues create pour créer votre file d'attente:

  gcloud tasks queues create QUEUE_ID \
      --location=LOCATION

Remplacez les éléments suivants :

  • QUEUE_ID: identifiant que vous attribuez à votre file d'attente (par exemple, my-queue).

  • LOCATION: région compatible dans laquelle la file d'attente s'exécutera (par exemple, asia-south1).

    Si votre organisation limite l'emplacement des ressources et que vous souhaitez créer votre file d'attente dans us-central1 ou us-central2, la règle d'administration doit autoriser la création de file d'attente dans us-central1 et us-central2 (même si vous n'avez besoin que d'une file d'attente dans l'une de ces régions).

D'autres options de la commande de la CLI gcloud vous permettent de configurer des limites de débit, des options de nouvelle tentative, des types de files d'attente, etc.

API REST

Pour créer une file d'attente, utilisez la méthode projects.locations.queues.create.

Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :

  • PROJECT_ID : ID de votre projet Google Cloud.
  • LOCATION: région compatible dans laquelle la file d'attente s'exécute (par exemple, asia-south1).

    Si votre organisation limite l'emplacement des ressources et que vous souhaitez créer votre file d'attente dans us-central1 ou us-central2, la règle d'administration de l'organisation doit autoriser la création de file d'attente dans us-central1 et us-central2 (même si vous n'avez besoin que d'une file d'attente dans l'une de ces régions).

  • QUEUE_ID: identifiant que vous attribuez à votre file d'attente (par exemple, my-queue).
D'autres propriétés configurables pour la ressource Queue incluent les limites de débit, les options de nouvelle tentative, les types de files d'attente, etc.

Corps JSON de la requête :

{
  "name": "projects/PROJECT_ID/locations/LOCATION/queues/QUEUE_ID"
}

Pour envoyer votre requête, développez l'une des options suivantes :

Si la requête aboutit, le corps de la réponse contient une nouvelle instance de Queue :

{
  "name": "projects/PROJECT_ID/locations/LOCATION/queues/QUEUE_ID",
  "rateLimits": {
    "maxDispatchesPerSecond": 500,
    "maxBurstSize": 100,
    "maxConcurrentDispatches": 1000
  },
  "retryConfig": {
    "maxAttempts": 100,
    "minBackoff": "0.100s",
    "maxBackoff": "3600s",
    "maxDoublings": 16
  },
  "state": "RUNNING"
}

Quelques minutes peuvent être nécessaires pour qu'une file d'attente nouvellement créée soit disponible.

Décrivez votre file d'attente

Vous pouvez vérifier que votre file d'attente a bien été créée de différentes manières:

  • Google Cloud Console
  • À l'aide de la CLI gcloud dans votre terminal ou Cloud Shell
  • En envoyant une requête directe à l'API Cloud Tasks

Console

  1. Dans la console Google Cloud, accédez à la page Cloud Tasks > Files d'attente.

    Accéder à "Files d'attente"

    Une coche verte  doit indiquer que votre file d'attente s'exécute.

  2. Pour en savoir plus, cliquez sur le nom de la file d'attente, puis sur l'onglet Configuration.

gcloud

Utilisez la commande gcloud tasks queues describe pour vérifier que la file d'attente a bien été créée:

gcloud tasks queues describe QUEUE_ID \
    --location=LOCATION

Remplacez les éléments suivants :

  • QUEUE_ID: ID de la file d'attente (son nom court)
  • LOCATION: emplacement de la file d'attente

La sortie devrait ressembler à ce qui suit :

name: projects/PROJECT_ID/locations/LOCATION/queues/QUEUE_ID
rateLimits:
  maxBurstSize: 100
  maxConcurrentDispatches: 1000
  maxDispatchesPerSecond: 500.0
retryConfig:
  maxAttempts: 100
  maxBackoff: 3600s
  maxDoublings: 16
  minBackoff: 0.100s
state: RUNNING

API REST

Pour récupérer une file d'attente, utilisez la méthode projects.locations.queues.get.

Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :

  • PROJECT_ID : ID de votre projet Google Cloud.
  • LOCATION: région dans laquelle la file d'attente est déployée (par exemple, us-central1).
  • QUEUE_ID: ID court de la file d'attente (par exemple, my-queue)

Pour envoyer votre requête, développez l'une des options suivantes :

Si la requête aboutit, le corps de la réponse contient une instance de Queue :

{
  "name": "projects/PROJECT_ID/locations/LOCATION/queues/QUEUE_ID",
  "rateLimits": {
    "maxDispatchesPerSecond": 500,
    "maxBurstSize": 100,
    "maxConcurrentDispatches": 1000
  },
  "retryConfig": {
    "maxAttempts": 100,
    "minBackoff": "0.100s",
    "maxBackoff": "3600s",
    "maxDoublings": 16
  },
  "state": "RUNNING"
}

Résoudre les problèmes de création d'une file d'attente

Si le résultat attendu ne s'affiche pas, vous pouvez essayer ce qui suit:

  • Attendez au moins une minute pour que la file d'attente s'initialise.
  • Assurez-vous qu'une file d'attente avec le même ID n'existe pas déjà. Vous pouvez afficher les files d'attente de votre projet à l'aide de la commande gcloud tasks queues list:

    gcloud tasks queues list \
        --location=LOCATION

    Pour rechercher plusieurs lieux, vous devez envoyer plusieurs requêtes.

  • Vérifiez si vous avez atteint votre quota de file d'attente:

    1. Dans la console Google Cloud, accédez à la page Détails de l'API/du service de l'API Cloud Tasks .

      Accéder aux détails de l'API/du service

    2. Cliquez sur l'onglet Quotas et limites du système.

    3. Pour augmenter un quota, sur la ligne correspondante, cliquez sur l'icône des points de suspension > Modifier le quota.

      Pour en savoir plus, consultez la page Demander un quota supérieur.

  • Exécutez à nouveau les commandes pour créer votre file d'attente et assurez-vous que chaque étape est effectuée correctement.

Étape suivante