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.
  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. 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. Instal Google Cloud CLI.

  3. Jika Anda menggunakan penyedia identitas (IdP) eksternal, Anda harus login ke gcloud CLI dengan identitas gabungan Anda terlebih dahulu.

  4. Untuk melakukan inisialisasi gcloud CLI, jalankan perintah berikut:

    gcloud init
  5. 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 izin resourcemanager.projects.create. Pelajari cara memberikan peran.
    • Buat Google Cloud project:

      gcloud projects create PROJECT_ID

      Ganti PROJECT_ID dengan nama untuk Google Cloud project 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.

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

  7. Verifikasi bahwa penagihan diaktifkan untuk project Google Cloud Anda.

  8. 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 izin serviceusage.services.enable. Pelajari cara memberikan peran.

    gcloud services enable cloudscheduler.googleapis.com pubsub.googleapis.com
  9. Instal Google Cloud CLI.

  10. Jika Anda menggunakan penyedia identitas (IdP) eksternal, Anda harus login ke gcloud CLI dengan identitas gabungan Anda terlebih dahulu.

  11. Untuk melakukan inisialisasi gcloud CLI, jalankan perintah berikut:

    gcloud init
  12. 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 izin resourcemanager.projects.create. Pelajari cara memberikan peran.
    • Buat Google Cloud project:

      gcloud projects create PROJECT_ID

      Ganti PROJECT_ID dengan nama untuk Google Cloud project 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.

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

  14. Verifikasi bahwa penagihan diaktifkan untuk project Google Cloud Anda.

  15. 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 izin serviceusage.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:

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.

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

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

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