Vous pouvez utiliser Cloud Tasks pour mettre un workflow en file d'attente et l'exécuter de manière asynchrone.
Cloud Tasks propose les commandes suivantes :
- Planifier des délais de distribution spécifiques
- Gérer les rythmes de distribution
- Configurer le comportement des nouvelles tentatives
- Accéder à des tâches individuelles et les gérer dans une file d'attente
- Activer la déduplication des tâches
Ces commandes peuvent être utiles, par exemple, pour gérer les requêtes qui déclenchent un workflow et qui pourraient dépasser de manière inattendue les limites de Workflows. En configurant une file d'attente Cloud Tasks avec des limites de débit et des nouvelles tentatives, vous pouvez vous assurer que toutes ces requêtes entraînent des exécutions de workflow.
Pour en savoir plus, consultez Comprendre Cloud Tasks.
Veuillez noter les points suivants :
Vous devez baser la limite de débit sur la limite Workflows pour les requêtes d'écriture de l'API Execution. Si nécessaire, vous pouvez demander un ajustement de la plupart des quotas dans la Google Cloud console. En savoir plus sur les ajustements de quota.
Cloud Tasks est conçu pour fournir une exécution de type "au moins une fois". Toutefois, Workflows ne garantit pas un traitement unique des requêtes en double provenant de Cloud Tasks.
Vous pouvez supprimer les délais d'exécution et maximiser le débit en activant la mise en attente des exécutions dans Workflows. Les exécutions mises en attente s'exécutent automatiquement dès que le quota de simultanéité d'exécution est disponible. Pour en savoir plus, consultez Gérer la mise en attente des exécutions.
Avant de commencer
- Si vous ne disposez pas encore d'un workflow à mettre en file d'attente, créez-en un.
Activez l'API Cloud Tasks.
Rôles requis pour activer les API
Pour activer les API, vous devez disposer de l'autorisation
serviceusage.services.enable. Si vous avez créé le projet, vous disposez probablement déjà de cette autorisation via le rôle Propriétaire (roles/owner). Sinon, vous pouvez obtenir cette autorisation via le rôle Administrateur de l'utilisation des services (roles/serviceusage.serviceUsageAdmin). Découvrez comment attribuer des rôles.
Mettre une tâche en file d'attente pour exécuter un workflow
Créez un compte de service afin que Cloud Tasks puisse envoyer des requêtes à l'API Workflows :