Setelah tugas berada dalam pull queue, worker melakukan lease untuk tugas tersebut. Setelah tugas diproses, worker harus menghapusnya.
Sebelum memulai
- Buat pull queue.
- Buat tugas dan tambahkan ke pull queue.
Konteks penting
- Metode ini hanya berlaku untuk worker yang berjalan dalam layanan di lingkungan standar.
- Saat menggunakan pull queue, Anda bertanggung jawab untuk menskalakan worker berdasarkan volume pemrosesan Anda.
Tugas leasing
Setelah tugas berada dalam antrean, worker dapat melakukan lease pada satu atau beberapa tugas tersebut menggunakan metode taskqueue.Lease
. Mungkin ada keterlambatan singkat sebelum tugas yang baru ditambahkan menggunakan taskqueue.Add
menjadi tersedia melalui taskqueue.Lease
.
Saat meminta lease, Anda menentukan jumlah tugas yang akan di-lease (hingga maksimum 1.000 tugas) dan durasi lease dalam hitungan detik (hingga maksimum satu minggu). Durasi lease harus cukup lama untuk memastikan bahwa tugas paling lambat memiliki waktu untuk diselesaikan sebelum periode lease berakhir. Anda dapat mengubah lease tugas menggunakan taskqueue.ModifyLease
.
Leasing tugas membuat tugas tidak tersedia untuk diproses oleh worker lain, dan tetap tidak tersedia hingga periode lease berakhir.
Contoh kode berikut melakukan lease pada 100 tugas dari antrean pull-queue
selama satu jam:
Membuat batch dengan tag tugas
Tidak semua tugas itu sama; kode Anda dapat "memberi tag" pada tugas lalu memilih tugas untuk di-lease berdasarkan tag. Tag berfungsi sebagai filter. Contoh kode berikut menunjukkan cara memberi tag pada tugas, lalu melakukan lease berdasarkan tag:
Mengatur laju polling
Worker yang melakukan polling pada antrean untuk tugas yang akan di-lease harus mendeteksi apakah mereka mencoba melakukan lease pada tugas lebih cepat daripada yang dapat disediakan oleh antrean. Jika kegagalan ini terjadi, error back-off akan ditampilkan dari taskqueue.Lease
.
Kode Anda harus menangani error tersebut. Berhentilah memanggil taskqueue.Lease
, lalu coba lagi nanti. Untuk menghindari masalah ini, pertimbangkan untuk menetapkan batas waktu RPC yang lebih tinggi saat memanggil taskqueue.Lease
. Anda juga harus berhenti saat permintaan lease menampilkan daftar tugas kosong.
Jika Anda membuat lebih dari 10 permintaan LeaseTask per antrean per detik, hanya 10 permintaan pertama yang akan menampilkan hasil. Jika permintaan melebihi batas ini, OK
akan ditampilkan dengan hasil nol.
Memantau tugas di konsol Google Cloud
Untuk melihat informasi tentang semua tugas dan antrean dalam aplikasi Anda:
Buka halaman Cloud Tasks di konsol Google Cloud dan cari nilai Pull di kolom Type.
Klik nama antrean yang Anda minati, lalu halaman detail antrean akan terbuka. Tindakan ini akan menampilkan semua tugas dalam antrean yang dipilih.
Menghapus tugas
Setelah menyelesaikan tugas, worker perlu menghapus tugas dari antrean. Jika Anda melihat tugas tersisa dalam antrean setelah worker selesai memprosesnya, kemungkinan worker tersebut gagal; dalam hal ini, tugas akan diproses oleh worker lain.
Anda dapat menghapus daftar tugas, seperti yang ditampilkan oleh taskqueue.Lease
, dengan meneruskannya ke taskqueue.DeleteMulti
: