Strategi penanganan error untuk tugas menentukan tindakan yang akan diambil jika tugas gagal karena kesalahan sementara. Untuk mengonfigurasi strategi penanganan error untuk suatu tugas, lakukan hal berikut:
- Klik tugas yang ada di editor integrasi Anda untuk membuka konfigurasi tugas Google Analytics.
- Luaskan bagian Error penanganan dan buka Error menangani strategy.
- Jika integrasi Anda berjalan dalam mode sinkron, klik Strategi untuk eksekusi sinkron lalu pilih jenis strategi yang ingin digunakan.
- Jika integrasi Anda berjalan dalam mode asinkron, klik Strategi untuk eksekusi asinkron, lalu pilih jenis strategi yang ingin digunakan.
Untuk informasi tentang kode error dan penanganan error, lihat Penanganan error.
Strategi percobaan ulang untuk eksekusi yang gagal
Batas konkurensi default ditetapkan ke 50 eksekusi untuk setiap project dan region. Eksekusi yang gagal akan diantrekan dan dicoba lagi menggunakan algoritma backoff eksponensial, yang secara bertahap meningkatkan waktu tunggu antarpercobaan ulang hingga 10 kali. Contoh:
- Menjalankan integrasi.
- Jika permintaan gagal, tunggu 10 menit dan coba lagi terhadap permintaan.
- Jika permintaan gagal, tunggu 20 menit dan coba lagi terhadap permintaan.
- Jika permintaan gagal, tunggu 40 menit dan coba lagi terhadap permintaan.
- Dan seterusnya, hingga percobaan ulang backoff maksimum 10 kali.
Penanganan error untuk tugas
Tabel berikut ini menjelaskan berbagai strategi penanganan error yang bisa Anda gunakan untuk sebuah tugas:
Jenis strategi | Deskripsi |
---|---|
Fatal | Menghentikan eksekusi seluruh integrasi dan menandai status eksekusi sebagai Gagal. |
Abaikan | Mengabaikan kegagalan tugas. Integrasi tersebut akan terus menjalankan tugas berikutnya dengan asumsi bahwa tugas yang gagal telah Succeeded. |
Tidak ada | Menghentikan eksekusi tugas dan menandai status integrasi sebagai Failed. Jika jalur alternatif ke tugas akhir (tugas leaf) ada, tugas di jalur alternatif akan dijalankan. Jika semua tugas di jalur alternatif berhasil dijalankan, tandai status integrasi sebagai Succeeded. |
Memulai ulang integrasi dengan backoff | Menjalankan seluruh integrasi dari tugas pertama. Namun, tugas tersebut mungkin akan gagal lagi. Untuk menghindari kegagalan berulang, tentukan interval waktu antara mulai ulang di kolom Interval percobaan ulang (dalam detik) dan jumlah upaya mulai ulang yang diizinkan di kolom Jumlah percobaan ulang maksimum. |
Mengulang tugas dengan backoff eksponensial | Menjalankan integrasi dari tugas yang gagal. Jika tugas gagal selama percobaan ulang, interval waktu antara setiap upaya percobaan ulang meningkat dengan pangkat 2. Ada penundaan 1 hingga 5 detik yang ditambahkan ke waktu backoff.
Misalnya, jika interval percobaan ulang yang ditentukan adalah 3 detik, percobaan ulang pertama akan terjadi setelah 3 detik. Percobaan ulang kedua terjadi setelah 9 detik, percobaan ulang ketiga setelah 81 detik, dan seterusnya. Proses ini berlanjut hingga jumlah percobaan ulang maksimum tercapai atau tugas berhasil, mana saja yang lebih dahulu. |
Coba lagi tugas dengan interval tetap | Menjalankan integrasi dari tugas yang gagal. Jika tugas gagal selama percobaan ulang, interval waktu antara setiap upaya percobaan ulang tetap konstan.
Misalnya, jika interval percobaan ulang yang ditentukan adalah 3 detik, percobaan ulang akan terjadi setiap 3 detik. Proses ini berlanjut hingga jumlah percobaan ulang maksimum tercapai atau tugas berhasil, mana saja yang lebih dahulu. |
Mengulang tugas dengan backoff linear | Menjalankan integrasi dari tugas yang gagal. Jika tugas gagal selama percobaan ulang, interval waktu antara setiap upaya percobaan ulang akan meningkat secara linear. Ada penundaan 1 hingga 5 detik yang ditambahkan ke waktu backoff.
Misalnya, jika interval percobaan ulang yang ditentukan adalah 3 detik, percobaan ulang pertama akan terjadi setelah 3 detik. Percobaan ulang kedua terjadi setelah 6 detik, percobaan ulang ketiga setelah 9 detik, dan seterusnya. Proses ini berlanjut hingga jumlah percobaan ulang maksimum tercapai atau tugas berhasil, mana saja yang lebih dahulu. |