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:

  1. Buat topik Pub/Sub untuk disiapkan sebagai target tugas Cloud Scheduler Anda.
  2. Buat tugas cron menggunakan Cloud Scheduler, dan konfigurasikan jadwal berulang untuk tugas tersebut.
  3. Jalankan tugas Anda.
  4. 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

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. Install the Google Cloud CLI.

  3. If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

  4. To initialize the gcloud CLI, run the following command:

    gcloud init
  5. Create or select a Google Cloud project.

    • Create a Google Cloud project:

      gcloud projects create PROJECT_ID

      Replace PROJECT_ID with a name for the Google Cloud project you are creating.

    • Select the Google Cloud project that you created:

      gcloud config set project PROJECT_ID

      Replace PROJECT_ID with your Google Cloud project name.

  6. Make sure that billing is enabled for your Google Cloud project.

  7. Enable the Cloud Scheduler, Pub/Sub APIs:

    gcloud services enable cloudscheduler.googleapis.com pubsub.googleapis.com
  8. Install the Google Cloud CLI.

  9. If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

  10. To initialize the gcloud CLI, run the following command:

    gcloud init
  11. Create or select a Google Cloud project.

    • Create a Google Cloud project:

      gcloud projects create PROJECT_ID

      Replace PROJECT_ID with a name for the Google Cloud project you are creating.

    • Select the Google Cloud project that you created:

      gcloud config set project PROJECT_ID

      Replace PROJECT_ID with your Google Cloud project name.

  12. Make sure that billing is enabled for your Google Cloud project.

  13. Enable the Cloud Scheduler, Pub/Sub APIs:

    gcloud services enable cloudscheduler.googleapis.com pubsub.googleapis.com

Membuat topik dan langganan Pub/Sub

Topik Pub/Sub adalah resource yang dapat digunakan penerbit untuk mengirim pesan. Untuk menerima pesan yang dipublikasikan ke suatu topik, Anda harus membuat langganan ke topik tersebut.

  1. Siapkan topik Pub/Sub untuk digunakan sebagai target cron job Anda:

    gcloud pubsub topics create cron-topic
    

    Tindakan ini akan membuat topik bernama 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 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 sesuai 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-central1" \
    --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-central1"

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.

  1. Mengambil pesan Pub/Sub dari langganan:

    gcloud pubsub subscriptions pull cron-sub --limit 5
    

    Jika tidak ada pesan yang ditarik pada awalnya, jalankan kembali perintah tersebut.

  2. 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 tidak menimbulkan biaya pada akun Google Cloud Anda untuk resource yang digunakan di halaman ini, hapus project Google Cloud yang berisi resource tersebut.

    Delete a Google Cloud project:

    gcloud projects delete PROJECT_ID

Atau, hapus resource 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 pekerjaan. Secara default, menggunakan lokasi aplikasi App Engine project saat ini jika ada aplikasi terkait.
  2. Hapus topik Pub/Sub. Di Cloud Shell atau di komputer 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. Hapus langganan Pub/Sub. Di Cloud Shell atau 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 berikutnya