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:

  1. Buat topik Pub/Sub untuk disiapkan sebagai Cloud Scheduler Anda target pekerjaan saya.
  2. Membuat cron job menggunakan Cloud Scheduler, dan mengonfigurasi tugas berulang untuk pekerjaan itu.
  3. Jalankan tugas Anda.
  4. 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

  1. 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.
  2. Menginstal Google Cloud CLI.
  3. Untuk initialize gcloud CLI, jalankan perintah berikut:

    gcloud init
  4. 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.

  5. Pastikan penagihan telah diaktifkan untuk project Google Cloud Anda.

  6. Aktifkan API Cloud Scheduler, Pub/Sub:

    gcloud services enable cloudscheduler.googleapis.com pubsub.googleapis.com
  7. Menginstal Google Cloud CLI.
  8. Untuk initialize gcloud CLI, jalankan perintah berikut:

    gcloud init
  9. 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.

  10. Pastikan penagihan telah diaktifkan untuk project Google Cloud Anda.

  11. 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.

  1. 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.

  2. 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.

  1. 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.

  2. 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:

  1. 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.
  2. 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.

  3. 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