Menjadwalkan dan menjalankan cron job menggunakan gcloud CLI
Panduan memulai ini menunjukkan cara menggunakan gcloud CLI untuk melakukan beberapa operasi dasar menggunakan Cloud Scheduler.
Dalam panduan memulai ini, Anda akan:
- Buat topik Pub/Sub untuk disiapkan sebagai target tugas Cloud Scheduler.
- Buat tugas cron menggunakan Cloud Scheduler, dan konfigurasikan jadwal berulang untuk tugas tersebut.
- Jalankan tugas Anda.
- Pastikan tugas telah berhasil dijalankan.
Cloud Scheduler memiliki paket gratis dan menjalankan panduan memulai ini tidak akan menimbulkan biaya apa pun. Untuk mengetahui informasi selengkapnya, lihat Harga.
Sebelum memulai
- Login ke akun Google Cloud Anda. Jika Anda baru menggunakan Google Cloud, buat akun untuk mengevaluasi performa produk kami dalam skenario dunia nyata. Pelanggan baru juga mendapatkan kredit gratis senilai $300 untuk menjalankan, menguji, dan men-deploy workload.
-
Instal Google Cloud CLI.
-
Jika Anda menggunakan penyedia identitas (IdP) eksternal, Anda harus login ke gcloud CLI dengan identitas gabungan Anda terlebih dahulu.
-
Untuk melakukan inisialisasi gcloud CLI, jalankan perintah berikut:
gcloud init -
Buat atau pilih Google Cloud project.
Peran yang diperlukan untuk memilih atau membuat project
- Pilih project: Memilih project tidak memerlukan peran IAM tertentu—Anda dapat memilih project mana pun yang telah diberi peran.
-
Membuat project: Untuk membuat project, Anda memerlukan peran Pembuat Project
(
roles/resourcemanager.projectCreator), yang berisi izinresourcemanager.projects.create. Pelajari cara memberikan peran.
-
Buat Google Cloud project:
gcloud projects create PROJECT_ID
Ganti
PROJECT_IDdengan nama untuk Google Cloud project yang Anda buat. -
Pilih project Google Cloud yang Anda buat:
gcloud config set project PROJECT_ID
Ganti
PROJECT_IDdengan nama project Google Cloud Anda.
-
Jika Anda menggunakan project yang sudah ada untuk panduan ini, pastikan Anda memiliki izin yang diperlukan untuk menyelesaikan panduan ini. Jika berhasil membuat project baru, berarti Anda sudah memiliki izin yang diperlukan.
-
Verifikasi bahwa penagihan diaktifkan untuk project Google Cloud Anda.
Aktifkan Cloud Scheduler dan Pub/Sub API:
Peran yang diperlukan untuk mengaktifkan API
Untuk mengaktifkan API, Anda memerlukan peran IAM Service Usage Admin (
roles/serviceusage.serviceUsageAdmin), yang berisi izinserviceusage.services.enable. Pelajari cara memberikan peran.gcloud services enable cloudscheduler.googleapis.com
pubsub.googleapis.com -
Instal Google Cloud CLI.
-
Jika Anda menggunakan penyedia identitas (IdP) eksternal, Anda harus login ke gcloud CLI dengan identitas gabungan Anda terlebih dahulu.
-
Untuk melakukan inisialisasi gcloud CLI, jalankan perintah berikut:
gcloud init -
Buat atau pilih Google Cloud project.
Peran yang diperlukan untuk memilih atau membuat project
- Pilih project: Memilih project tidak memerlukan peran IAM tertentu—Anda dapat memilih project mana pun yang telah diberi peran.
-
Membuat project: Untuk membuat project, Anda memerlukan peran Pembuat Project
(
roles/resourcemanager.projectCreator), yang berisi izinresourcemanager.projects.create. Pelajari cara memberikan peran.
-
Buat Google Cloud project:
gcloud projects create PROJECT_ID
Ganti
PROJECT_IDdengan nama untuk Google Cloud project yang Anda buat. -
Pilih project Google Cloud yang Anda buat:
gcloud config set project PROJECT_ID
Ganti
PROJECT_IDdengan nama project Google Cloud Anda.
-
Jika Anda menggunakan project yang sudah ada untuk panduan ini, pastikan Anda memiliki izin yang diperlukan untuk menyelesaikan panduan ini. Jika berhasil membuat project baru, berarti Anda sudah memiliki izin yang diperlukan.
-
Verifikasi bahwa penagihan diaktifkan untuk project Google Cloud Anda.
Aktifkan Cloud Scheduler dan Pub/Sub API:
Peran yang diperlukan untuk mengaktifkan API
Untuk mengaktifkan API, Anda memerlukan peran IAM Service Usage Admin (
roles/serviceusage.serviceUsageAdmin), yang berisi izinserviceusage.services.enable. Pelajari cara memberikan peran.gcloud services enable cloudscheduler.googleapis.com
pubsub.googleapis.com
Peran yang diperlukan
Untuk mendapatkan izin yang Anda perlukan untuk menyelesaikan panduan memulai cepat ini, minta administrator Anda untuk memberi Anda peran IAM berikut di project Anda:
- Admin Cloud Scheduler (
roles/cloudscheduler.admin) - Pub/Sub Editor (
roles/pubsub.editor)
Untuk mengetahui informasi selengkapnya tentang pemberian peran, lihat Mengelola akses ke project, folder, dan organisasi.
Anda mungkin juga bisa mendapatkan izin yang diperlukan melalui peran khusus atau peran bawaan lainnya.
Membuat topik dan langganan Pub/Sub
Topik Pub/Sub adalah resource yang menjadi tujuan pengiriman pesan oleh penayang. Untuk menerima pesan yang dipublikasikan ke suatu topik, Anda harus membuat langganan ke topik tersebut.
Siapkan topik Pub/Sub untuk digunakan sebagai target cron job Anda:
gcloud pubsub topics create cron-topicTindakan ini akan membuat topik bernama
cron-topic.Untuk menerima pesan dan melihat hasil tugas Anda, buat langganan Pub/Sub:
gcloud pubsub subscriptions create cron-sub --topic cron-topic
Membuat tugas cron menggunakan Cloud Scheduler
Gunakan perintah gcloud scheduler jobs create pubsub
untuk menyiapkan unit kerja yang dikenal sebagai cron job yang dikirim ke
target Pub/Sub dengan jadwal berulang. Jadwal ditentukan
menggunakan format berdasarkan unix-cron. Untuk mengetahui informasi selengkapnya, lihat
Format cron job dan zona waktu.
gcloud scheduler jobs create pubsub my-cron-job \
--schedule="30 16 * * 7" \
--topic=cron-topic \
--location="us-east1" \
--message-body="Hello world"
Anda telah membuat tugas yang mengirimkan pesan "Hello world" ke topik Pub/Sub pada pukul 16.30 setiap hari Minggu.
Sekarang Anda dapat menjalankan tugas.
Menjalankan tugas
Selain dieksekusi sesuai jadwal yang ditentukan, Anda dapat memaksa tugas untuk segera dijalankan:
gcloud scheduler jobs run my-cron-job --location="us-east1"
Perhatikan bahwa karena beberapa konfigurasi awal, tugas pertama yang dibuat dalam project dapat memerlukan waktu beberapa menit untuk dijalankan.
Selanjutnya, Anda dapat memverifikasi bahwa topik Pub/Sub Anda menerima pesan.
Memverifikasi hasil di Pub/Sub
Pastikan topik Pub/Sub Anda menerima pesan dari tugas Anda.
Mengambil pesan Pub/Sub dari langganan:
gcloud pubsub subscriptions pull cron-sub --limit 5Jika tidak ada pesan yang ditarik pada awalnya, jalankan kembali perintah tersebut.
Lihat hasil menjalankan tugas Anda. Output-nya akan terlihat seperti berikut:
DATA: Hello world! MESSAGE_ID: 5028933846601543 ORDERING_KEY: ATTRIBUTES: DELIVERY_ATTEMPT: ACK_ID: RFAGFixdRkhRNxkIaFEOT14jPzUgKEUQAgVPAihdeTFXLkFacGhRDRlyfWB9[...]
Pembersihan
Agar akun Google Cloud Anda tidak dikenai biaya untuk resource yang digunakan pada halaman ini, hapus project Google Cloud yang berisi resource tersebut.
Menghapus Google Cloud project:
gcloud projects delete PROJECT_ID
Atau, hapus resource yang Anda buat untuk panduan memulai ini:
Hapus cron job. Di Cloud Shell atau di mesin tempat Anda menginstal gcloud CLI, jalankan perintah:
gcloud scheduler jobs delete MY_JOB \ --location="LOCATION"Ganti kode berikut:
MY_JOB: nama tugas yang akan dihapus.LOCATION: lokasi pekerjaan. Secara default, menggunakan lokasi aplikasi App Engine project saat ini jika ada aplikasi terkait.
Hapus topik Pub/Sub. Di Cloud Shell atau di komputer tempat Anda menginstal gcloud CLI, jalankan perintah:
gcloud pubsub topics delete TOPIC_IDGanti
TOPIC_IDdengan ID topik Pub/Sub yang akan dihapus.Hapus langganan Pub/Sub. Di Cloud Shell atau di mesin tempat Anda menginstal gcloud CLI, jalankan perintah:
gcloud pubsub subscriptions delete SUBSCRIPTION_IDGanti
SUBSCRIPTION_IDdengan ID langganan Pub/Sub yang akan dihapus.
Langkah berikutnya
Pelajari Cloud Scheduler lebih lanjut
Pelajari cara melihat log Cloud Scheduler