Créer des files d'attente Cloud Tasks

Cette page explique comment créer des files d'attente Cloud Tasks. Lorsque des tâches sont ajoutées à une file d'attente, celle-ci les envoie 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 files 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 Google Cloud projet qui fournit l'ID du 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 des tâches HTTP Target ne nécessite pas d'application App Engine. Vous sélectionnez un emplacement Google Cloud 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 :

  • Dans la console Google Cloud
  • En utilisant 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 aux 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 restreint 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 files d'attente dans us-central1 et us-central2 (même si vous n'avez besoin d'une file d'attente que dans l'une de ces régions).

  5. Vous pouvez également configurer 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 restreint 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 files d'attente dans us-central1 et us-central2 (même si vous n'avez besoin d'une file d'attente que dans l'une de ces régions).

D'autres indicateurs de la commande gcloud CLI vous permettent de configurer les limites de débit, les options de réessai, les types de files d'attente et plus encore.

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écutera (par exemple, asia-south1).

    Si votre organisation restreint 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 files d'attente dans us-central1 et us-central2 (même si vous n'avez besoin d'une file d'attente que dans l'une de ces régions).

  • QUEUE_ID : identifiant que vous attribuez à votre file d'attente (par exemple, my-queue).
Les 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 et plus encore.

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 plusieurs façons :

  • Dans la console Google Cloud
  • À l'aide de gcloud 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 aux files d'attente

    Une coche verte  doit indiquer que votre file d'attente est en cours d'exécution.

  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 abrégé)
  • 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 abrégé 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 vous ne voyez pas le résultat attendu, 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 effectuer 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 pour 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, cliquez sur l'icône en forme de trois points > Modifier le quota sur la ligne correspondant au quota.

      Pour en savoir plus, consultez Demander un ajustement de quota.

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

Étapes suivantes