Sebelum mengupgrade ke SDK layanan App Engine versi terbaru, tinjau ringkasan migrasi.
Anda dapat bermigrasi ke Cloud Tasks secara otomatis dengan mengupdate SDK layanan App Engine ke versi terbaru. Setelah Anda melakukan upgrade, SDK akan otomatis mengalihkan panggilan PushQueue ke API frontend Cloud Tasks untuk Anda. Cloud Tasks mempertahankan antrean dan tugas yang ada, sehingga tidak diperlukan migrasi tambahan.
Di balik layar, SDK yang diupdate menggunakan Cloud Tasks API untuk mempertahankan paritas fitur dengan fitur Task Queues. SDK ini mendukung hal berikut:
- Pembuatan tugas batch: SDK menggunakan API batch untuk mendukung penambahan hingga 100 tugas dalam satu panggilan.
- Coba lagi tingkat tugas: SDK mendukung konfigurasi coba lagi khusus tugas.
- Tugas transaksional: SDK mengantrekan tugas dalam transaksi Datastore. Untuk menjaga keandalan, buat atau ubah file
cron.yaml.
Harga dan kuota
Memigrasikan push queue ke Cloud Tasks dapat memengaruhi harga dan kuota untuk aplikasi Anda.
Harga
Tinjau harga Cloud Tasks untuk memperkirakan biaya bulanan Anda sebelum melakukan migrasi.
Mirip dengan Task Queue, mengirim permintaan ke aplikasi App Engine Anda dengan target push Cloud Tasks tidak dikenai biaya. Namun, tidak seperti Task Queue, Cloud Tasks mengenakan biaya untuk operasi yang dilakukan, seperti membuat, menghapus, atau mengelola tugas. Hal ini dapat menyebabkan biaya bulanan keseluruhan yang lebih tinggi dibandingkan dengan Task Queue App Engine tanpa biaya.
Kuota
Permintaan Cloud Tasks juga dihitung dalam kuota permintaan App Engine Anda.
Seperti Task Queue, Cloud Tasks memiliki kuota khusus layanan. Memigrasikan ke Cloud Tasks kemungkinan akan mengubah kuota Anda.
Sebelum memulai
Bagian berikut membahas pertimbangan biaya dan kuota sebelum memigrasikan push queue ke Cloud Tasks.
Pastikan Anda memiliki akses ke kode sumber App Engine.
Aktifkan Cloud Tasks dan Cloud Scheduler API:
Untuk memastikan akun layanan App Engine memiliki izin yang diperlukan agar SDK dapat mengirim tugas ke Cloud Tasks API, minta administrator untuk memberikan peran IAM Penyisip Cloud Tasks (
roles/cloudtasks.enqueuer) di project.
Mengupdate SDK layanan App Engine
Pastikan aplikasi Anda menggunakan SDK layanan App Engine versi terbaru.
Update dependensi
google-appengine-apike versiv3.1.0b0atau yang lebih tinggi. Contoh:Flask==3.0.0 appengine-python-standard>=v3.1.0b0 google-cloud-tasks
Mengaktifkan perutean Cloud Tasks
runtime: 3.14 service: my-service-b env_variables: APPENGINE_USE_CLOUDTASK_PUSH_QUEUE: "true"Men-deploy aplikasi Anda:
gcloud app deployVerifikasi antrean push di Cloud Tasks untuk memverifikasi bahwa aplikasi Anda menggunakan Cloud Tasks.
Mengonfigurasi tugas transaksional (opsional)
Jika aplikasi Anda mengantrekan tugas dalam transaksi Datastore, SDK mengandalkan cron job internal untuk memastikan bahwa setiap tugas yang gagal diantrekan selama commit datastore akhirnya diproses.
Untuk menangani tugas transaksional push queue, buat atau perbarui file cron.yaml Anda untuk memanggil pemroses internal secara berkala. Contoh:
cron:
- description: "Process push queue transactional tasks"
url: /_ah/cloudtask/sweep
schedule: every 30 minutes # Change this based on the usage pattern
Langkah berikutnya
- Dokumentasi Cloud Tasks
- Library klien Cloud Tasks
- Ringkasan Referensi REST Cloud Tasks
- Ringkasan Referensi RPC Cloud Tasks
- Untuk tutorial, lihat Codelab Bermigrasi dari push queue Task Queue App Engine ke Cloud Tasks.