Tugas penangguhan

Tugas Suspend memungkinkan Anda menjeda sementara, lalu melanjutkan eksekusi integrasi.

Selama eksekusi integrasi, saat kontrol mencapai tugas Suspend, eksekusi akan dihentikan, dan semua tugas setelah tugas Suspend akan ditangguhkan. Integrasi melanjutkan eksekusi saat salah satu peristiwa berikut terjadi:

  • Berakhirnya waktu penangguhan yang ditentukan.
  • Setelah menerima permintaan melanjutkan eksekusi dari Suspensions API.

Anda juga dapat mengonfigurasi variabel output (Suspension result) untuk tugas Suspend dan menetapkannya ke nilai apa pun dan menggunakan nilai tersebut untuk membuat kondisi percabangan guna menjalankan tugas downstream.

Membandingkan Tugas persetujuan, Tugas penangguhan, dan Tugas timer

Ketiga tugas (Approval, Suspend, dan Timer) menjalankan fungsi yang serupa, yaitu menjeda dan melanjutkan integrasi. Namun, ada perbedaan kecil di antara keduanya. Tabel berikut menjelaskan perbedaan di antara ketiga tugas tersebut.

Tugas persetujuan Tugas penangguhan Tugas timer
Dilanjutkan saat pengguna menyetujui atau menolak permintaan di UI Integrasi atau menggunakan API. Mendukung pelanjutan integrasi secara manual dan otomatis. Jika tidak ada intervensi manual untuk mencabut penangguhan, integrasi akan otomatis melanjutkan eksekusi setelah batas waktu penangguhan berakhir. Hanya mendukung pelanjutan otomatis integrasi. Eksekusi integrasi akan otomatis dilanjutkan setelah batas waktu penangguhan berakhir.
Dapat melanjutkan integrasi dari UI Integrasi atau dengan memanggil metode suspensions.resolve. Lihat Menyetujui atau menolak menggunakan API. Dapat melanjutkan integrasi dengan memanggil metode suspensions.lift. Hanya mendukung pelanjutan otomatis integrasi.
Pengguna menerima notifikasi saat integrasi dijeda (ditangguhkan). Pengguna tidak menerima notifikasi apa pun saat integrasi dijeda (ditangguhkan). Pengguna tidak menerima notifikasi apa pun saat integrasi dijeda (ditangguhkan).
Mendukung variabel output (boolean), yang memungkinkan Anda melakukan pemeriksaan bersyarat sebelum melanjutkan integrasi. Namun, variabel output hanya dapat memiliki nilai true atau false. Mendukung variabel output (string), yang memungkinkan Anda melakukan pemeriksaan bersyarat sebelum melanjutkan integrasi. Anda dapat menetapkan nilai apa pun ke variabel output. Tidak mendukung variabel output apa pun.

Mengonfigurasi tugas Suspend

Untuk mengonfigurasi tugas Suspend, lakukan langkah-langkah berikut:

  1. Di konsol Google Cloud , buka halaman Application Integration.

    Buka Application Integration

  2. Di menu navigasi, klik Integrations.

    Halaman Integrations akan muncul dan mencantumkan semua integrasi yang tersedia di project Google Cloud.

  3. Pilih integrasi yang ada atau klik Create integration untuk membuat integrasi baru.

    Jika Anda membuat integrasi baru:

    1. Masukkan nama dan deskripsi di panel Create Integration.
    2. Pilih region untuk integrasi.
    3. Pilih akun layanan untuk integrasi. Anda dapat mengubah atau memperbarui detail akun layanan integrasi kapan saja dari panel Integration summary di toolbar integrasi.
    4. Klik Create. Integrasi yang baru dibuat akan terbuka di editor integrasi.

  4. Di menu navigasi editor integrasi, klik Tasks untuk melihat daftar tugas dan konektor yang tersedia.
  5. Klik dan tempatkan elemen tugas Suspend di editor integrasi.
  6. Klik elemen tugas Suspend di desainer untuk melihat panel konfigurasi tugas Suspend.
  7. Konfigurasikan kolom yang tersisa menggunakan Configuration properties untuk tugas seperti yang dijelaskan dalam tabel di bawah.

    Semua perubahan pada properti akan disimpan secara otomatis.

Properti konfigurasi

Tabel berikut menjelaskan properti konfigurasi tugas Suspend.

Properti Data type Deskripsi
Suspension Time Bilangan bulat Waktu (dalam menit) hingga eksekusi integrasi harus ditangguhkan. Batas waktu maksimum adalah 44640 menit (31 hari) yang juga merupakan nilai default.

Jika eksekusi integrasi tidak dilanjutkan dalam batas waktu yang ditentukan, integrasi akan otomatis melanjutkan eksekusi setelah batas waktu berakhir dan menetapkan nilai variabel Suspension result ke Expired.

Suspension result String Variabel untuk menyimpan hasil tugas Suspend. Menetapkan nilai ke variabel ini bersifat opsional. Anda dapat menetapkan variabel ini ke nilai apa pun berdasarkan persyaratan Anda. Variabel ini berguna jika Anda ingin memiliki kontrol lebih besar atas alur eksekusi integrasi. Misalnya, Anda dapat membaca hasil penangguhan dan mengonfigurasi keputusan bersyarat berdasarkan nilai di salah satu tugas downstream Anda.
Suspension Id String ID unik untuk tugas Penangguhan. Nilai variabel ini ditetapkan segera setelah integrasi ditangguhkan. Anda bisa mendapatkan nilai ID dari halaman log eksekusi di UI integrasi. Anda juga bisa mendapatkan nilai ID dari objek respons API jika Anda menggunakan API untuk memicu integrasi.

Anda dapat melanjutkan eksekusi integrasi menggunakan ID penangguhan atau menggunakan ID eksekusi integrasi.

Mencabut penangguhan dengan Suspensions API

Suspensions API memungkinkan Anda mencabut penangguhan melalui panggilan API. Untuk mencabut penangguhan dengan Suspensions API, Anda harus memiliki ID eksekusi integrasi atau ID penangguhan tugas Suspend. Untuk mencabut penangguhan, Anda harus mengeluarkan permintaan POST ke API berikut:

https://REGION-integrations.googleapis.com/v1/{name=projects/PROJECT/locations/LOCATION/integrations/INTEGRATION_ID/executions/EXECUTION_ID/suspensions/SUSPENSION_ID}:lift
    

Dalam API ini, INTEGRATION_ID bersifat opsional. Namun, Anda harus memberikan EXECUTION_ID atau SUSPENSION_ID. Jika tidak memiliki nilai ID, Anda dapat mengganti nilai tersebut dengan -. Dalam API ini, REGION, PROJECT, dan LOCATION adalah kolom wajib diisi.

Setelah Anda mencabut penangguhan, eksekusi integrasi akan dilanjutkan dan menjalankan tugas downstream setelah tugas Suspend.

Contoh berikut menunjukkan cara mencabut penangguhan menggunakan API suspensions.

Contoh 1: Mencabut penangguhan hanya dengan ID penangguhan

Perintah curl berikut menunjukkan cara mencabut penangguhan jika Anda hanya memiliki ID penangguhan:

  curl -H "Authorization: Bearer $TOKEN" \
  -H "Content-type: application/json" \
  -H X-GFE-SSL: yes \
  -X POST \
  -d '{"suspension_result":"Approved"}' \
  https://us-east1-integrations.googleapis.com/v1/projects/demo-project/locations/us-east1/integrations/-/executions/-/suspensions/c6a13a79-a918-41e2-82b9-32b5a010755a:lift

Dalam contoh ini, variabel Suspension result ditetapkan ke Approved untuk ID suspensi c6a13a79-a918-41e2-82b9-32b5a010755a.

Contoh 2: Mencabut penangguhan hanya dengan ID eksekusi

Perintah curl berikut menunjukkan cara mencabut penangguhan jika Anda hanya memiliki ID eksekusi:

  curl -H "Authorization: Bearer $TOKEN" \
  -H "Content-type: application/json" \
  -H X-GFE-SSL: yes \
  -X POST \
  -d '{"suspension_result":"true"}' \
  https://us-east1-integrations.googleapis.com/v1/projects/demo-project/locations/us-east1/integrations/-/executions/76a391e7-c801-45d7-8046-eab20d167ec5/suspensions/-:lift

Dalam contoh ini, variabel Suspension result ditetapkan ke true untuk ID eksekusi 76a391e7-c801-45d7-8046-eab20d167ec5.

Contoh 3: Mencabut penangguhan dengan ID eksekusi dan ID penangguhan

Perintah curl berikut menunjukkan cara mencabut penangguhan jika Anda memiliki ID eksekusi dan ID penangguhan:

  curl -H "Authorization: Bearer $TOKEN" \
  -H "Content-type: application/json" \
  -H X-GFE-SSL: yes \
  -X POST \
  -d '{"suspension_result":"{processname: "Release", owner: "John", status: "approved"};"}' \
  https://us-east1-integrations.googleapis.com/v1/projects/demo-project/locations/us-east1/integrations/-/executions/9b721baa-0a23-4576-b2b6-d251d163ea6f/suspensions/f01815bf-ed18-4e01-9d41-cc2ce7861e95:lift

Dalam contoh ini, variabel Suspension result ditetapkan ke {processname: "Release", owner: "John", status: "approved"}; untuk ID penangguhan f01815bf-ed18-4e01-9d41-cc2ce7861e95.

Strategi penanganan error

Strategi penanganan error untuk tugas menentukan tindakan yang harus diambil jika tugas gagal karena error sementara. Untuk mengetahui informasi tentang cara menggunakan strategi penanganan error, dan untuk mengetahui berbagai jenis strategi penanganan error, lihat Strategi penanganan error.

Kuota dan batas

Untuk mengetahui informasi tentang kuota dan batas, lihat Kuota dan batas.

Langkah berikutnya