Saat membuat tugas, Anda dapat menentukan jumlah maksimum percobaan ulang tugas yang gagal, menetapkan batas waktu untuk percobaan ulang, dan mengontrol interval antar-percobaan menggunakan metode
projects.locations.queues.tasks.create. Setelah berhasil dijalankan, tugas akan dihapus dari antrean. Dalam
semua kasus, batas retensi tugas maksimum juga
berlaku.
Konfigurasi percobaan ulang tingkat tugas ini menggantikan konfigurasi percobaan ulang tingkat antrean untuk tugas.
Mengonfigurasi percobaan ulang saat membuat tugas
Contoh berikut menunjukkan cara menetapkan parameter percobaan ulang saat membuat tugas target HTTP dengan mengirim permintaan langsung ke Cloud Tasks API. Anda dapat
menggunakan parameter percobaan ulang yang sama saat
membuat tugas App Engine. Untuk
detail parameter selengkapnya, lihat
setelan RetryConfig untuk resource
Task.
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
PROJECT_ID: wajib. Project ID dari project Google Cloud tempat tugas akan dibuat.REGION: wajib. region tempat antrean di-deploy—misalnya,us-central1.QUEUE_ID: wajib. ID antrean tempat tugas akan ditambahkan.URL: wajib. URL yang sepenuhnya memenuhi syarat yang akan dikirimi permintaan. String ini harus diawali denganhttp://atauhttps://—misalnya:https://www.example.com.SERVICE_ACCOUNT_EMAIL: opsional. Email akun layanan yang digunakan untuk membuat token otorisasi yang disertakan dalam permintaan yang dikirim ke target saat menjalankan tugas. Akun layanan harus berada di project yang sama dengan antrean. Pemanggil harus memiliki iziniam.serviceAccounts.actAsuntuk akun layanan.Untuk membuat token akses OAuth2, bukan token OpenID Connect, ganti kolom
oidcTokendenganoauthTokenuntuk menentukan email akun layanan.MAX_ATTEMPTS: optional. Jumlah maksimum upaya untuk suatu tugas, termasuk yang pertama. Untuk mengizinkan percobaan ulang tanpa batas, tetapkan ini ke-1.MAX_RETRY_DURATIONmasih berlaku meskipunMAX_ATTEMPTStercapai atau ditetapkan ke-1.MAX_RETRY_DURATION: optional. Jumlah waktu maksimum untuk mencoba kembali tugas yang gagal, diukur dari saat tugas pertama kali dicoba. Nilai harus berupa string yang diakhiri dengan "s", seperti5s. Untuk menentukan durasi tanpa batas, tetapkan ini ke0s.MAX_ATTEMPTSmasih berlaku meskipunMAX_RETRY_DURATIONtercapai atau disetel ke0s.MIN_INTERVAL: optional. Jumlah waktu minimum untuk menunggu di antara upaya percobaan ulang. Nilai harus berupa string yang diakhiri dengan "s", seperti5s.MAX_INTERVAL: optional. Jumlah waktu maksimum untuk menunggu di antara upaya percobaan ulang. Nilai harus berupa string yang diakhiri dengan "s", seperti5s.MAX_DOUBLINGS: optional. Frekuensi maksimum interval antara percobaan ulang tugas yang gagal akan dilipatgandakan sebelum peningkatan menjadi konstan. Interval percobaan ulang tugas dimulai padaMIN_INTERVAL, lalu ditingkatkan dua kali lipatMAX_DOUBLINGSkali, lalu ditingkatkan secara linear, dan akhirnya dicoba ulang pada intervalMAX_INTERVALhinggaMAX_ATTEMPTSkali.Misalnya, jika
MIN_INTERVALadalah10s,MAX_INTERVALadalah300s, danMAX_DOUBLINGSadalah3, interval percobaan ulang akan ditingkatkan dua kali lipat3kali, ditingkatkan secara linear sebesar 2^3 * 10 detik, lalu dicoba ulang pada intervalMAX_INTERVALhingga tugas telah dicobaMAX_ATTEMPTSkali: 10 detik, 20 detik, 40 detik, 80 detik, 160 detik, 240 detik, 300 detik, 300 detik, dan seterusnya.SCHEDULE_TIME: optional. Waktu saat tugas dijadwalkan untuk dicoba, dalam format RFC 3339—misalnya,2026-10-02T15:01:23Z. Jika waktu tidak disetel atau sudah berlalu, Cloud Tasks akan menyetelnya ke waktu saat ini.
Meminta isi JSON:
{
"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"
}
}
Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:
Jika berhasil, isi respons akan berisi instance yang baru dibuat dari
resource 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"
}
Langkah berikutnya
- Membuat antrean Cloud Tasks
- Membuat tugas Cloud Tasks
- Mengonfigurasi pemilihan rute, batas, dan percobaan ulang antrean
- Mengelola antrean dan tugas