Menjadwalkan dan menjalankan tugas cron 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 berjalan.

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. To initialize the gcloud CLI, run the following command:

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

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

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

    gcloud services enable cloudscheduler.googleapis.com pubsub.googleapis.com
  7. Install the Google Cloud CLI.
  8. To initialize the gcloud CLI, run the following command:

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

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

  11. 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 tugas cron 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 tugas cron menggunakan Cloud Scheduler

Gunakan perintah gcloud scheduler jobs create pubsub untuk menyiapkan unit pekerjaan yang dikenal sebagai tugas cron yang dikirim ke target Pub/Sub sesuai jadwal berulang. Jadwal ditentukan menggunakan format berdasarkan unix-cron. Untuk mengetahui informasi selengkapnya, lihat Format tugas Cron 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 "Halo dunia" ke topik Pub/Sub pada pukul 16.30 pada hari Minggu.

Sekarang Anda dapat menjalankan tugas.

Menjalankan tugas

Selain dijalankan sesuai jadwal yang ditentukan, Anda dapat memaksa tugas untuk langsung 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 hasilnya di Pub/Sub

Pastikan topik Pub/Sub Anda menerima pesan dari tugas Anda.

  1. Menarik pesan Pub/Sub dari langganan:

    gcloud pubsub subscriptions pull cron-sub --limit 5
    

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

  2. Lihat hasil pengoperasian tugas Anda. Output-nya akan terlihat seperti 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.

    Delete a Google Cloud project:

    gcloud projects delete PROJECT_ID

Atau, hapus resource yang Anda buat untuk panduan memulai ini:

  1. Hapus tugas cron. 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 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 mesin 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