Menjalankan tugas sesuai jadwal

Halaman ini menjelaskan cara menjalankan tugas Cloud Run sesuai jadwal menggunakan Cloud Scheduler.

Sebelum memulai

Membuat tugas Cloud Run.

Mengonfigurasi tugas Cloud Run untuk dijalankan sesuai jadwal

Untuk menjalankan tugas Cloud Run sesuai jadwal:

Konsol

  1. Buka job Cloud Run

  2. Klik tugas yang ingin Anda jalankan sesuai jadwal.

  3. Klik tab Trigger.

  4. Klik Add Scheduler Trigger.

  5. Jika belum mengaktifkan Cloud Scheduler API untuk project, Anda akan diminta untuk melakukannya di panel paling kanan: klik Enable API.

  6. Isi formulir tugas Cloud Scheduler

    gambar

  7. Di bagian Tentukan jadwal:

    1. Beri nama pada tugas Cloud Scheduler Anda.

    2. Pilih region untuk tugas Cloud Scheduler Anda. Region tidak perlu sama dengan region yang digunakan untuk tugas Cloud Run.

    3. Tentukan frekuensi untuk menjalankan tugas menggunakan format unix-cron, misalnya 0 12 * * *

    4. Pilih zona waktu.

  8. Klik Lanjutkan.

  9. Di menu dropdown Akun Layanan, pilih akun layanan yang memiliki izin untuk memanggil layanan Cloud Run saat ini.

  10. Klik Buat untuk membuat tugas Cloud Scheduler yang akan menjalankan tugas Cloud Run pada frekuensi yang ditentukan.

Command line

  1. Pastikan Anda sebelumnya telah membuat tugas Cloud Run.

  2. Jalankan perintah:

    gcloud scheduler jobs create http SCHEDULER_JOB_NAME \
      --location SCHEDULER_REGION \
      --schedule="SCHEDULE" \
      --uri="https://CLOUD_RUN_REGION-run.googleapis.com/apis/run.googleapis.com/v1/namespaces/PROJECT-ID/jobs/JOB-NAME:run" \
      --http-method POST \
      --oauth-service-account-email PROJECT-NUMBER-compute@developer.gserviceaccount.com

    Ganti

    • SCHEDULER_JOB_NAME dengan nama yang ingin Anda berikan tugas terjadwal.
    • SCHEDULER_REGION dengan region yang didukung oleh Cloud Scheduler, misalnya, europe-west2.
    • CLOUD_RUN_REGION dengan region untuk tugas Cloud Run Anda. Untuk pratinjau, gunakan europe-west9.
    • SCHEDULE dengan frekuensi yang diinginkan, misalnya 0 12 * * *
    • PROJECT-ID dengan project ID Anda.
    • PROJECT-NUMBER dengan nomor project Anda.
    • JOB-NAME dengan tugas Cloud Run Anda.

Terraform

Untuk membuat tugas Cloud Scheduler yang menjalankan tugas Cloud Run:

resource "google_cloud_scheduler_job" "job" {
  provider         = google-beta
  name             = "schedule-job"
  description      = "test http job"
  schedule         = "*/8 * * * *"
  attempt_deadline = "320s"
  region           = "us-central1"
  project          = data.google_project.project.project_id

  retry_config {
    retry_count = 3
  }

  http_target {
    http_method = "POST"
    uri         = "https://${google_cloud_run_v2_job.default.location}-run.googleapis.com/apis/run.googleapis.com/v1/namespaces/${data.google_project.project.number}/jobs/${google_cloud_run_v2_job.default.name}:run"

    oauth_token {
      service_account_email = google_service_account.cloud_run_invoker_sa.email
    }
  }

  depends_on = [resource.google_project_service.cloudscheduler_api, resource.google_cloud_run_v2_job.default, resource.google_cloud_run_v2_job_iam_binding.binding]
}

Untuk mempelajari cara menerapkan atau menghapus konfigurasi Terraform, lihat Perintah dasar Terraform.

Cloud Scheduler akan menjalankan tugas Cloud Run pada frekuensi yang ditentukan.

Langkah selanjutnya

Setelah menggunakan fitur ini, Anda dapat melakukan hal berikut: