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
projects.locations.queues.tasks.create
metode. Setelah berhasil dijalankan, tugas akan dihapus dari antrean. Dalam
semua kasus, batas retensi tugas maksimum juga
berlaku.
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
mengetahui detail parameter selengkapnya, lihat
RetryConfig setelan untuk
Task resource.
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
PROJECT_ID: wajib. Project ID dari project tempat tugas akan dibuat. Google CloudREGION: 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 tempat permintaan akan dikirim. 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 dalam 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: opsional. Jumlah maksimum percobaan untuk suatu tugas, termasuk yang pertama. Untuk mengizinkan percobaan ulang tanpa batas, tetapkan nilai ini ke-1.MAX_RETRY_DURATIONtetap berlaku meskipunMAX_ATTEMPTStercapai atau ditetapkan ke-1.MAX_RETRY_DURATION: opsional. Jumlah waktu maksimum untuk mencoba ulang tugas yang gagal, diukur sejak tugas pertama kali dicoba. Nilai harus berupa string yang diakhiri dengan "s", seperti5s. Untuk menentukan durasi tanpa batas, tetapkan nilai ini ke0s.MAX_ATTEMPTStetap berlaku meskipunMAX_RETRY_DURATIONtercapai atau ditetapkan ke0s.MIN_INTERVAL: opsional. Jumlah waktu minimum untuk menunggu antar-percobaan ulang. Nilai harus berupa string yang diakhiri dengan "s", seperti5s.MAX_INTERVAL: opsional. Jumlah waktu maksimum untuk menunggu antar-percobaan ulang. Nilai harus berupa string yang diakhiri dengan "s", seperti5s.MAX_DOUBLINGS: opsional. Jumlah maksimum interval antara percobaan ulang tugas yang gagal akan digandakan sebelum peningkatan menjadi konstan. Interval percobaan ulang tugas dimulai dariMIN_INTERVAL, lalu digandakanMAX_DOUBLINGSkali, lalu meningkat secara linear, dan akhirnya dicoba ulang pada intervalMAX_INTERVALhinggaMAX_ATTEMPTSkali.Misalnya, jika
MIN_INTERVALadalah10s,MAX_INTERVALadalah300s, danMAX_DOUBLINGSadalah3, interval percobaan ulang akan digandakan3kali, meningkat 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: opsional. Waktu saat tugas dijadwalkan untuk dicoba, dalam format RFC 3339—misalnya,2026-10-02T15:01:23Z. Jika waktu tidak ditetapkan atau berada di masa lalu, Cloud Tasks akan menetapkannya 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 resource 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 antrean
- Mengelola antrean dan tugas