Anda dapat membuat tugas HTTP menggunakan metode BufferTask
atau
metode CreateTask
. Halaman ini memberikan panduan tentang cara memilih antara
dua metode untuk membuat tugas HTTP.
Metode BufferTask
memungkinkan Anda membuat tugas dengan mengirim 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 pemilihan rute tingkat antrean.
Sebelum memulai
Periksa daftar kasus penggunaan berikut untuk melihat apakah ada yang berlaku untuk Anda:
- Anda ingin membuat tugas menggunakan RPC API atau library klien (bukan RPC 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 satu hal ini 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
Jalankan perintah gcloud tasks queues describe di terminal Anda:
gcloud tasks queues describe QUEUE_NAME \ --location=LOCATION
Ganti kode berikut:
QUEUE_NAME
: nama antrean Anda.LOCATION
: region tempat antrean Anda berada. Jika tidak ditentukan, dan jika ada aplikasi terkait, lokasi aplikasi App Engine project Anda akan digunakan.
Pada output, cari kolom
httpTarget
dan periksa apakahuriOverride
telah ditetapkan.Jika output menyertakan baris untuk
uriOverride
denganhost
yang ditentukan, antrean Anda memiliki pemilihan rute tingkat antrean. Untuk memilih metode pembuatan tugas, lihat bagian Antrean dengan pemilihan rute tingkat antrean.Jika output tidak menyertakan baris untuk
uriOverride
atau jika deskripsiuriOverride
tidak menampilkanhost
yang ditentukan, antrean Anda tidak memiliki pemilihan rute tingkat antrean. Untuk memilih metode pembuatan tugas, lihat bagian Antrean tanpa pemilihan rute tingkat antrean (atau mengonfigurasi pemilihan rute tingkat antrean).
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 di tingkat antrean:
Gunakan
BufferTask
. Pelajari cara membuat tugas dengan metodeBufferTask
. - Tugas memiliki persyaratan pemilihan rute yang berbeda dari yang ditentukan di tingkat antrean:
Tetapkan
UriOverrideEnforceMode
antrean ke
IF_NOT_EXISTS
untuk memastikan bahwa pemilihan rute tingkat antrean berlaku untuk tugas yang pemilihannya tidak ada (misalnya, tugasBufferTask
), tetapi mengikuti pemilihan rute tugas yang memiliki spesifikasi pemilihan rutenya sendiri. Kemudian, gunakanCreateTask
. Metode ini memungkinkan Anda menentukan setiap pemilihan rute untuk tugas. Pelajari cara membuat tugas dengan metodeCreateTask
.
Antrean tanpa pemilihan rute tingkat antrean
Untuk antrean tanpa pemilihan rute tingkat antrean, buat tugas menggunakan metode CreateTask
(atau konfigurasi pemilihan rute tingkat antrean). Metode CreateTask
mencakup penentuan perutean untuk
tugas, yang diperlukan untuk antrean yang belum memiliki informasi
perutean di tingkat antrean. Pelajari cara membuat tugas dengan metode
CreateTask
.
Memahami perutean tingkat antrean
Pemilihan rute tingkat antrean memungkinkan Anda menentukan informasi pemilihan rute default untuk tugas berdasarkan antrean tempat tugas tersebut berada. Anda dapat menentukan apakah Anda ingin pemilihan rute default hanya berlaku untuk tugas yang tidak memiliki informasi pemilihan rutenya sendiri, atau untuk 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 dengan arsitektur yang menggunakan satu antrean untuk setiap layanan target. Dengan model ini, Anda dapat:
- Mengelola tugas berdasarkan targetnya (misalnya, mengalihkan grup tugas jika layanan target tidak aktif)
- Mengirim semua tugas dalam antrean ke target yang sama
- Membuat tugas tanpa membuat objek tugas secara eksplisit menggunakan
metode
BufferTask
Mengaktifkan dan menonaktifkan perilaku penggantian tingkat antrean
Setelah mengonfigurasi pemilihan rute tingkat antrean, Anda dapat memutuskan kapan pemilihan rute tersebut diterapkan dengan menetapkan UriOverrideEnforceMode antrean.
IF_NOT_EXISTS
: Pemilihan rute tingkat antrean hanya berlaku jika tugas tidak berisi informasi pemilihan rutenya sendiri. Gunakan setelan ini jika Anda ingin antrean dapat mengirim tugas ke target yang berbeda.ALWAYS
: Pemilihan rute tingkat antrean selalu berlaku, meskipun tugas berisi informasi pemilihan rutenya sendiri. Setiap informasi pemilihan rute yang ditetapkan pada tingkat tugas akan diganti oleh pemilihan rute tingkat antrean. Gunakan setelan ini jika Anda ingin mewajibkan tugas dalam antrean tertentu untuk menggunakan informasi pemilihan rute yang sama.