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 upaya pertama. Untuk mengizinkan percobaan ulang tanpa batas, tetapkan ini ke-1.MAX_RETRY_DURATIONtetap berlaku meskipunMAX_ATTEMPTStercapai atau disetel 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 tidak terbatas, tetapkan ini ke0s.MAX_ATTEMPTStetap 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. Jumlah maksimum interval antara percobaan ulang tugas yang gagal akan dilipatgandakan sebelum peningkatan menjadi konstan. Interval percobaan ulang tugas dimulai padaMIN_INTERVAL, lalu digandakanMAX_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 ditetapkan 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 memuat instance Task yang baru dibuat.
{
"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 perutean, batas, dan percobaan ulang antrean
- Mengelola antrean dan tugas