Anda dapat membuat tugas HTTP menggunakan metode BufferTask
atau
metode CreateTask
. Halaman ini memberikan panduan tentang cara memilih antara
dua metode tersebut untuk membuat tugas HTTP.
Metode BufferTask
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, pembuatan objek tugas secara eksplisit
tidak diperlukan. Metode terbaik untuk membuat tugas bergantung pada apakah antrean Anda memiliki perutean tingkat antrean.
Sebelum memulai
Periksa daftar kasus penggunaan berikut untuk mengetahui apakah ada 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
Jalankan perintah gcloud CLI berikut di terminal Anda:
gcloud tasks queues describe QUEUE_NAME
Ganti
QUEUE_NAME
dengan nama antrean Anda.Pada output, cari kolom
httpTarget
dan periksa apakahuriOverride
telah ditetapkan.Jika output menyertakan baris untuk
uriOverride
denganhost
yang ditentukan, antrean Anda memiliki perutean tingkat antrean. Untuk memilih metode pembuatan tugas, lihat bagian Antrean dengan perutean tingkat antrean.Jika output tidak menyertakan baris untuk
uriOverride
atau jika deskripsiuriOverride
tidak menampilkanhost
yang ditentukan, antrean Anda tidak memiliki perutean tingkat antrean. Untuk memilih metode pembuatan tugas, lihat bagian Antrean tanpa perutean tingkat antrean (atau konfigurasi perutean tingkat antrean).
Antrean dengan perutean tingkat antrean
Untuk antrean dengan perutean tingkat antrean, metode pembuatan tugas bergantung pada persyaratan perutean tugas:
- Tugas memiliki persyaratan perutean yang sama seperti yang ditentukan pada level antrean: Gunakan
BufferTask
. Pelajari cara membuat tugas dengan metodeBufferTask
. - Tugas memiliki persyaratan perutean yang berbeda dari yang ditentukan pada tingkat antrean: Tetapkan UriOverrideEnforceMode antrean ke
IF_NOT_EXISTS
untuk memastikan bahwa perutean tingkat antrean berlaku pada tugas yang peruteannya tidak ada (misalnya, tugasBufferTask
), tetapi akan menerima perutean tugas yang memiliki spesifikasi peruteannya sendiri. Lalu gunakanCreateTask
. Metode ini memungkinkan Anda menentukan pemilihan rute individual untuk tugas tersebut. Pelajari cara membuat tugas dengan metodeCreateTask
.
Antrean tanpa perutean tingkat antrean
Untuk antrean tanpa perutean tingkat antrean, buat tugas 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 level antrean, Anda dapat menentukan informasi perutean default untuk tugas berdasarkan antrean tempatnya berada. Anda dapat menentukan apakah ingin perutean default hanya berlaku untuk tugas yang tidak memiliki informasi peruteannya 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
Perutean tingkat antrean berfungsi paling baik dengan 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 menyusun objek tugas secara eksplisit dengan menggunakan
metode
BufferTask
Mengaktifkan dan menonaktifkan perilaku penggantian tingkat antrean
Setelah mengonfigurasi perutean tingkat antrean, Anda dapat memutuskan kapan penerapannya 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 mengharuskan tugas dalam antrean tertentu untuk menggunakan informasi perutean yang sama.