Lorsque vous créez une tâche, vous pouvez spécifier le nombre maximal de tentatives pour une
tâche ayant échoué, définir une limite de temps pour les tentatives et contrôler l'intervalle
entre les tentatives à l'aide de la
projects.locations.queues.tasks.create
méthode. Une fois qu'une tâche est exécutée, elle est supprimée de la file d'attente. Dans
tous les cas, la limite maximale de conservation des tâches s'applique également.
Cette configuration de nouvelle tentative au niveau de la tâche remplace la configuration de nouvelle tentative au niveau de la file d'attente pour la tâche.
Configurer les nouvelles tentatives lors de la création d'une tâche
L'exemple suivant montre comment définir des paramètres de nouvelle tentative lors de la création d'une tâche cible HTTP en envoyant une requête directe à l'API Cloud Tasks. Vous pouvez
utiliser les mêmes paramètres de nouvelle tentative lorsque
vous créez une tâche App Engine. Pour
en savoir plus sur les paramètres, consultez les
RetryConfig paramètres de la
Task ressource.
Avant d'utiliser l'une des données de requête, effectuez les remplacements suivants :
PROJECT_ID: Obligatoire. ID du projet dans lequel la tâche sera créée. Google CloudREGION: Obligatoire. Région dans laquelle la file d'attente est déployée, par exempleus-central1.QUEUE_ID: Obligatoire. ID de la file d'attente à laquelle la tâche sera ajoutée.URL: Obligatoire. URL complète à laquelle la requête sera envoyée. Cette chaîne doit commencer parhttp://ouhttps://, par exemple :https://www.example.com.SERVICE_ACCOUNT_EMAIL: Facultatif. Adresse e-mail du compte de service utilisé pour générer un jeton d'autorisation inclus dans la requête envoyée à la cible lors de l'exécution de la tâche. Le compte de service doit se trouver dans le même projet que la file d'attente. L'appelant doit disposer de l'iam.serviceAccounts.actAsautorisation pour le compte de service.Pour générer un jeton d'accès OAuth2 au lieu d'un jeton OpenID Connect, remplacez le
oidcTokenchamp paroauthTokenpour spécifier l'adresse e-mail du compte de service.MAX_ATTEMPTS: Facultatif. Nombre maximal nombre de tentatives pour une tâche, y compris la première. Pour autoriser des tentatives illimitées, définissez cette valeur sur-1.MAX_RETRY_DURATIONs'applique toujours même siMAX_ATTEMPTSest atteint ou défini sur-1.MAX_RETRY_DURATION: Facultatif. Durée maximale pour réessayer une tâche ayant échoué, mesurée à partir de la première tentative. La valeur doit être une chaîne qui se termine par "s", telle que5s. Pour spécifier une durée illimitée, définissez cette valeur sur0s.MAX_ATTEMPTSs'applique toujours même siMAX_RETRY_DURATIONest atteint ou défini sur0s.MIN_INTERVAL: Facultatif. Délai minimal à attendre entre les tentatives. La valeur doit être une chaîne qui se termine par "s", telle que5s.MAX_INTERVAL: Facultatif. Délai maximal à attendre entre les tentatives. La valeur doit être une chaîne qui se termine par "s", telle que5s.MAX_DOUBLINGS: Facultatif. Nombre maximal de fois où l'intervalle entre les tentatives de tâches ayant échoué sera doublé avant que l 'augmentation ne devienne constante. L'intervalle de nouvelle tentative d'une tâche commence àMIN_INTERVAL, puis doubleMAX_DOUBLINGSfois, augmente ensuite de manière linéaire et de nouvelles tentatives sont effectuées à l'intervalleMAX_INTERVALjusqu'àMAX_ATTEMPTSfois.Par exemple, si
MIN_INTERVALest10s,MAX_INTERVALest300s, etMAX_DOUBLINGSest3, l'intervalle de nouvelle tentative sera doublé3fois, augmentera de manière linéaire de 2^3 * 10s, puis de nouvelles tentatives seront effectuées à l'intervalleMAX_INTERVALjusqu'à ce que la tâche ait été tentéeMAX_ATTEMPTSfois : 10s, 20s, 40s, 80s, 160s, 240s, 300s, 300s, et ainsi de suite.SCHEDULE_TIME: Facultatif. Heure à laquelle la tâche doit être tentée, au format RFC 3339, par exemple,2026-10-02T15:01:23Z. Si l'heure n'est pas définie ou est passée, Cloud Tasks la définit sur l'heure actuelle.
Corps JSON de la requête :
{
"task": {
"httpRequest": {
"url": "URL",
"httpMethod": "POST",
"oidcToken": {
"serviceAccountEmail": "SERVICE_ACCOUNT_EMAIL"
}
},
"retryConfig": {
"maxAttempts": MAX_ATTEMPTS,
"maxRetryDuration": "MAX_RETRY_DURATION",
"minBackoff": "MIN_INTERVAL",
"maxBackoff": "MAX_INTERVAL",
"maxDoublings": MAX_DOUBLINGS
},
"scheduleTime": "SCHEDULE_TIME"
}
}
Pour envoyer votre requête, développez l'une des options suivantes :
Si la requête aboutit, le corps de la réponse contient la nouvelle instance de
la ressource Task.
{
"name": "projects/PROJECT_ID/locations/REGION/queues/QUEUE_ID/tasks/TASK_ID",
"httpRequest": {
"url": "URL",
"httpMethod": "POST",
"headers": {
"User-Agent": "Google-Cloud-Tasks"
},
"oidcToken": {
"serviceAccountEmail": "SERVICE_ACCOUNT_EMAIL",
"audience": "URL"
}
},
"retryConfig": {
"maxAttempts": MAX_ATTEMPTS,
"maxRetryDuration": "MAX_RETRY_DURATION",
"minBackoff": "MIN_INTERVAL",
"maxBackoff": "MAX_INTERVAL",
"maxDoublings": MAX_DOUBLINGS
},
"scheduleTime": "SCHEDULE_TIME",
"createTime": "2026-04-30T19:11:50Z",
"dispatchDeadline": "600s",
"view": "BASIC"
}
Étape suivante
- Créer des files d'attente Cloud Tasks
- Créer des tâches Cloud Tasks
- Configurer des files d'attente
- Gérer les files d'attente et les tâches