Pilih metode pembuatan tugas Anda

Anda dapat membuat tugas HTTP menggunakan metode BufferTask (Pratinjau) atau metode CreateTask. Halaman ini memberikan panduan tentang cara memilih di antara dua metode untuk membuat tugas HTTP.

Metode BufferTask (Pratinjau) memungkinkan Anda membuat tugas dengan mengirimkan permintaan HTTP ke antrean. Metode CreateTask memungkinkan Anda membuat tugas dengan membuat objek tugas. Untuk sebagian besar kasus penggunaan, membuat objek tugas secara eksplisit tidak diperlukan. Metode terbaik untuk membuat tugas bergantung pada apakah antrean Anda memiliki perutean tingkat antrean atau tidak.

Sebelum memulai

Periksa daftar kasus penggunaan berikut untuk melihat apakah ada kasus yang berlaku untuk Anda:

  • Anda ingin membuat tugas menggunakan RPC API atau library klien (bukan REST API)
  • Anda ingin membuat tugas sebagai objek tugas App Engine (bukan sebagai objek tugas yang lebih umum untuk target HTTP generik yang mungkin atau mungkin bukan target App Engine)

Jika salah satunya berlaku untuk Anda, Anda tidak perlu memilih metode pembuatan tugas karena hanya satu metode (metode CreateTask) yang didukung. Buka langsung dokumentasi CreateTask untuk jenis tugas Anda:

Memeriksa apakah antrean Anda memiliki pemilihan rute tingkat antrean

  1. Jalankan perintah gcloud CLI berikut di terminal Anda:

    gcloud beta tasks queues describe QUEUE_NAME

    Ganti QUEUE_NAME dengan nama antrean Anda.

  2. Pada output, cari kolom httpTarget dan periksa apakah uriOverride telah ditetapkan.

Antrean dengan perutean tingkat antrean

Untuk antrean dengan perutean tingkat antrean, metode pembuatan tugas bergantung pada persyaratan perutean tugas:

  • Tugas memiliki persyaratan pemilihan rute yang sama seperti yang ditentukan pada level antrean: Gunakan BufferTask (Pratinjau). Pelajari cara membuat tugas dengan metode BufferTask.
  • Tugas memiliki persyaratan pemilihan rute yang berbeda dengan yang ditentukan pada level antrean: Tetapkan UriOverrideEnforceMode antrean ke IF_NOT_EXISTS untuk memastikan bahwa perutean tingkat antrean berlaku pada tugas yang peruteannya tidak ada (misalnya tugas BufferTask), tetapi mempertimbangkan perutean tugas yang memiliki spesifikasi peruteannya sendiri. Lalu gunakan CreateTask. Metode ini memungkinkan Anda menentukan masing-masing perutean untuk tugas tersebut. Pelajari cara membuat tugas dengan metode CreateTask.

Antrean tanpa perutean tingkat antrean

Untuk antrean tanpa perutean tingkat antrean, buat tugas dengan menggunakan metode CreateTask (atau configure perutean tingkat antrean). Metode CreateTask mencakup penentuan perutean untuk tugas, yang diperlukan untuk antrean yang belum memiliki informasi perutean pada tingkat antrean. Pelajari cara membuat tugas dengan metode CreateTask.

Memahami pemilihan rute tingkat antrean

Dengan perutean tingkat antrean, Anda dapat menentukan informasi perutean default untuk tugas berdasarkan antrean tempat tugas tersebut berada. Anda dapat menentukan apakah ingin pemilihan rute default hanya diterapkan ke tugas yang tidak memiliki informasi pemilihan rutenya sendiri, atau ke semua tugas.

Pilih pemilihan rute tingkat antrean jika Anda ingin:

  • Membuat tugas dengan permintaan HTTP standar (bukan dengan membuat objek tugas)
  • Menggunakan antrean sebagai buffer di depan layanan target

Pendekatan per target

Pemilihan rute tingkat antrean berfungsi paling baik pada arsitektur yang menggunakan satu antrean untuk setiap layanan target. Model ini memungkinkan Anda:

  • Mengelola tugas berdasarkan targetnya (misalnya, mengalihkan sekelompok tugas jika layanan target tidak aktif)
  • Mengirim semua tugas dalam antrean ke target yang sama
  • Buat tugas tanpa membuat objek tugas secara eksplisit (dengan menggunakan metode BufferTask yang ada di Pratinjau)

Mengaktifkan dan menonaktifkan perilaku penggantian tingkat antrean

Setelah mengonfigurasi perutean tingkat antrean, Anda dapat memutuskan kapan perutean tersebut diberlakukan dengan menyetel UriOverrideEnforceMode antrean.

  • IF_NOT_EXISTS: Perutean tingkat antrean hanya berlaku jika tugas tidak berisi informasi peruteannya sendiri. Gunakan setelan ini jika Anda ingin antrean dapat mengirim tugas ke target yang berbeda.
  • ALWAYS: Perutean tingkat antrean selalu berlaku, meskipun tugas berisi informasi peruteannya sendiri. Setiap informasi {i>routing<i} yang ditetapkan pada tingkat tugas diganti oleh {i>routing<i} tingkat antrean. Gunakan setelan ini jika Anda ingin mewajibkan tugas dalam antrean tertentu untuk menggunakan informasi perutean yang sama.