Menjadwalkan dan menjalankan cron job menggunakan gcloud CLI
Panduan memulai ini menunjukkan cara menggunakan gcloud CLI untuk melakukan operasi dasar menggunakan Cloud Scheduler.
Dalam panduan memulai ini, Anda:
- Buat topik Pub/Sub untuk disiapkan sebagai Cloud Scheduler Anda target pekerjaan saya.
- Membuat cron job menggunakan Cloud Scheduler, dan mengonfigurasi tugas berulang untuk pekerjaan itu.
- Jalankan tugas Anda.
- Pastikan tugas telah berhasil dijalankan.
Cloud Scheduler memiliki paket gratis dan menjalankan panduan memulai ini tidak boleh dikenai 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.
- Menginstal Google Cloud CLI.
-
Untuk initialize gcloud CLI, jalankan perintah berikut:
gcloud init
-
Buat atau pilih project Google Cloud.
-
Membuat project Google Cloud:
gcloud projects create PROJECT_ID
Ganti
PROJECT_ID
dengan nama untuk project Google Cloud yang Anda buat. -
Pilih project Google Cloud yang Anda buat:
gcloud config set project PROJECT_ID
Ganti
PROJECT_ID
dengan nama project Google Cloud Anda.
-
-
Pastikan penagihan telah diaktifkan untuk project Google Cloud Anda.
-
Aktifkan API Cloud Scheduler, Pub/Sub:
gcloud services enable cloudscheduler.googleapis.com
pubsub.googleapis.com - Menginstal Google Cloud CLI.
-
Untuk initialize gcloud CLI, jalankan perintah berikut:
gcloud init
-
Buat atau pilih project Google Cloud.
-
Membuat project Google Cloud:
gcloud projects create PROJECT_ID
Ganti
PROJECT_ID
dengan nama untuk project Google Cloud yang Anda buat. -
Pilih project Google Cloud yang Anda buat:
gcloud config set project PROJECT_ID
Ganti
PROJECT_ID
dengan nama project Google Cloud Anda.
-
-
Pastikan penagihan telah diaktifkan untuk project Google Cloud Anda.
-
Aktifkan API Cloud Scheduler, Pub/Sub:
gcloud services enable cloudscheduler.googleapis.com
pubsub.googleapis.com
Membuat topik dan langganan Pub/Sub
Topik Pub/Sub adalah resource yang dapat digunakan penayang untuk mengirim pesan. Untuk menerima pesan yang dipublikasikan ke suatu topik, Anda harus berlangganan topik tersebut.
Siapkan topik Pub/Sub agar digunakan sebagai target cron job Anda:
gcloud pubsub topics create cron-topic
Tindakan ini akan membuat topik yang disebut
cron-topic
.Untuk menerima pesan dan melihat hasil tugas Anda, buat Langganan Pub/Sub:
gcloud pubsub subscriptions create cron-sub --topic cron-topic
Membuat cron job menggunakan Cloud Scheduler
Menggunakan gcloud scheduler jobs create pubsub
untuk menyiapkan unit kerja yang dikenal sebagai cron job yang dikirim ke
Target Pub/Sub pada jadwal berulang. Jadwal sudah ditentukan
menggunakan format
berdasarkan {i>unix-cron<i}. Untuk informasi selengkapnya, lihat
Format tugas dan zona waktu cron.
gcloud scheduler jobs create pubsub my-cron-job \
--schedule="30 16 * * 7" \
--topic=cron-topic \
--location="us-central1" \
--message-body="Hello world"
Anda telah membuat tugas yang mengirimkan "Halo dunia" ke Pub/Sub Anda topik pada pukul 16.30 setiap hari Minggu.
Sekarang Anda dapat menjalankan tugas.
Menjalankan tugas Anda
Selain mengeksekusi sesuai dengan jadwal yang ditentukan, Anda dapat memaksa tugas untuk segera dijalankan:
gcloud scheduler jobs run my-cron-job --location="us-central1"
Perhatikan bahwa karena beberapa konfigurasi awal, tugas pertama yang dibuat di membutuhkan waktu beberapa menit untuk dijalankan.
Selanjutnya, Anda dapat memverifikasi bahwa topik Pub/Sub Anda menerima pesan tersebut.
Memverifikasi hasilnya di Pub/Sub
Verifikasi bahwa topik Pub/Sub Anda menerima pesan dari tugas Anda.
Mengambil pesan Pub/Sub dari langganan:
gcloud pubsub subscriptions pull cron-sub --limit 5
Jika tidak ada pesan yang diambil di awal, jalankan kembali perintah tersebut.
Lihat hasil menjalankan tugas Anda. Output akan terlihat mirip dengan berikut ini:
DATA: Hello world! MESSAGE_ID: 5028933846601543 ORDERING_KEY: ATTRIBUTES: DELIVERY_ATTEMPT: ACK_ID: RFAGFixdRkhRNxkIaFEOT14jPzUgKEUQAgVPAihdeTFXLkFacGhRDRlyfWB9[...]
Pembersihan
Agar tidak menimbulkan biaya pada akun Google Cloud Anda untuk resource yang digunakan pada halaman ini, hapus project Google Cloud yang berisi resource tersebut.
Menghapus project Google Cloud:
gcloud projects delete PROJECT_ID
Atau, hapus referensi yang Anda buat untuk panduan memulai ini:
Hapus cron job. Di Cloud Shell atau di komputer 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 tugas. Secara {i>default<i}, menggunakan lokasi aplikasi App Engine project saat ini jika ada yang terkait.
Menghapus topik Pub/Sub. Di Cloud Shell atau di tempat Anda menginstal gcloud CLI, jalankan perintah:
gcloud pubsub topics delete TOPIC_ID
Ganti
TOPIC_ID
dengan ID Topik Pub/Sub yang akan dihapus.Menghapus langganan Pub/Sub. Di Cloud Shell atau di di komputer tempat Anda menginstal gcloud CLI, jalankan perintah:
gcloud pubsub subscriptions delete SUBSCRIPTION_ID
Ganti
SUBSCRIPTION_ID
dengan ID Langganan Pub/Sub yang akan dihapus.
Langkah selanjutnya
Pelajari Cloud Scheduler lebih lanjut
Pelajari cara lihat log Cloud Scheduler