Menunda eksekusi tugas

Halaman ini menjelaskan cara menunda eksekusi tugas. Eksekusi tertunda memungkinkan Anda menunda tugas yang tidak mendesak hingga durasi maksimum 12 jam. Saat Anda menggunakan fitur ini, tugas Anda akan disediakan selama periode penggunaan rendah, dengan harga yang lebih rendah. Lihat halaman harga untuk mengetahui detailnya.

Secara khusus:

  • Penyediaan eksekusi tugas tertunda berpotensi hingga 12 jam, dan durasi runtime total semua tugas dalam eksekusi tugas tertunda adalah 12 jam. Jika digabungkan, persyaratan ini memastikan bahwa eksekusi tertunda akan selesai dalam waktu 24 jam.
  • Mengingat hal di atas, batas waktu tunggu tugas untuk tugas tertunda adalah 12 jam.
  • Saat eksekusi tugas tertunda telah mencapai batas durasi maksimum, eksekusi akan dibatalkan oleh sistem.

Tugas reguler versus tugas tertunda

Setiap tugas Cloud Run dibuat sebagai tugas reguler atau tugas tertunda.

Terlepas dari cara tugas dibuat, Anda dapat menjalankannya sebagai jenis lainnya. Untuk mengetahui detailnya, lihat:

Harga

Untuk mempelajari harga tugas tertunda Cloud Run lebih lanjut, lihat Harga Cloud Run.

Peran yang diperlukan

Untuk mendapatkan izin yang Anda perlukan untuk membuat tugas Cloud Run, minta administrator untuk memberi Anda peran IAM berikut:

Untuk mengetahui daftar peran dan izin IAM yang terkait dengan Cloud Run, lihat Peran IAM Cloud Run dan Izin IAM Cloud Run. Jika tugas Cloud Run Anda berinteraksi dengan Google Cloud API, seperti Library Klien Cloud, lihat panduan konfigurasi identitas layanan. Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat izin deployment dan mengelola akses.

Membuat tugas tertunda

Secara default, saat Anda membuat dan menjalankan tugas baru, eksekusi akan dimulai sesegera mungkin.

Dengan fitur tugas tertunda, Anda dapat membuat tugas yang memiliki eksekusi tertunda bawaan sejak pembuatan:

Konsol

  1. Di Google Cloud konsol, buka halaman Cloud Run:

    Buka Cloud Run

  2. Pilih Jobs dari menu navigasi Cloud Run, lalu klik Deploy container untuk menampilkan formulir Create job.

    1. Isi kolom di formulir Create job, seperti yang dijelaskan dalam Membuat tugas.

    2. Pilih Delay execution untuk menunda eksekusi hingga 12 jam.

gcloud

Buat tugas menggunakan flag --delay-execution:

gcloud beta run jobs create JOB_NAME \
  --image IMAGE_URL \
  --delay-execution \
  --region=REGION

Jika Anda membuat tugas sebagai tugas tertunda, Anda tidak perlu menyertakan flag --delay-execution untuk menjalankannya:

gcloud beta run jobs execute JOB_NAME \
  --region=REGION

YAML

Perbarui job.yaml dengan atribut delayExecution yang ditetapkan ke true:

apiVersion: run.googleapis.com/v1
kind: Job
metadata:
  name: JOB_NAME
spec:
  delayExecution: "true"

Menjalankan tugas reguler sebagai tugas tertunda

Untuk menjalankan tugas reguler sebagai tugas tertunda:

Konsol

  1. Di Google Cloud konsol, buka halaman Cloud Run:

    Buka Cloud Run

  2. Klik nama tugas yang ingin Anda edit.

  3. Klik View &edit job configuration.

  4. Pilih Delayed execution.

  5. Klik Update.

gcloud

Jalankan perintah berikut:

gcloud beta run jobs execute JOB_NAME \
  --async \
  --delay-execution \
  --region=REGION

YAML

Perbarui job.yaml dengan atribut delayExecution yang ditetapkan ke true:

apiVersion: run.googleapis.com/v1
kind: Job
metadata:
  name: JOB_NAME
spec:
  delayExecution: "true"

Menjalankan tugas tertunda sebagai tugas reguler

Saat Anda menonaktifkan eksekusi tertunda, tugas akan diperbarui menjadi tugas reguler. Artinya, saat Anda menjalankan tugas ini pada lain waktu, tugas akan dijalankan sesegera mungkin.

Untuk menonaktifkan eksekusi tertunda:

Konsol

  1. Di Google Cloud konsol, buka halaman Cloud Run:

    Buka Cloud Run

  2. Klik nama tugas yang ingin Anda edit.

  3. Klik View &edit job configuration.

  4. Hapus centang pada Delayed execution.

  5. Klik Update.

gcloud

Gunakan flag --no-delay-execution. Anda juga dapat menggunakan flag ini dengan perintah update. Jika Anda menggunakan flag ini untuk tugas reguler, tugas akan diperbarui untuk menonaktifkan eksekusi tertunda.

gcloud beta run jobs update JOB_NAME \
  --image IMAGE_URL \
  --no-delay-execution \
  --region=REGION

YAML

Perbarui job.yaml dengan atribut delayExecution yang ditetapkan ke false:

apiVersion: run.googleapis.com/v1
kind: Job
metadata:
  name: JOB_NAME
spec:
  delayExecution: "false"

Menjalankan tugas tertunda saat pembuatan atau pembaruan

Saat Anda membuat tugas tertunda dengan flag --execute-now, eksekusi akan dipicu saat pembuatan dan tugas akan berjalan pada suatu waktu dalam 12 jam berikutnya.

Untuk menjalankan tugas tertunda saat pembuatan atau pembaruan:

Konsol

  1. Di Google Cloud konsol, buka halaman Jobs Cloud Run:

    Buka tugas Cloud Run

  2. Jika Anda memiliki tugas tertunda yang ada, klik tugas untuk menampilkan halaman detail tugas, lalu pilih View &edit job configuration. Jika Anda membuat tugas tertunda baru, pilih Deploy container.

  3. Buka bagian bawah halaman dan centang kotak Execute job immediately sebelum membuat atau memperbarui tugas.

gcloud

Tentukan --execute-now flag saat membuat atau memperbarui tugas tertunda:

  • Membuat tugas:

    gcloud run jobs create JOB_NAME \
      --image IMAGE_URL \
      --delay-execution \
      --execute-now \
      --region=REGION
  • Memperbarui tugas:

    gcloud run jobs update JOB_NAME \
      --execute-now \
      --region=REGION