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:
- Developer Cloud Run (
roles/run.developer) pada tugas Cloud Run - Pengguna Akun Layanan (
roles/iam.serviceAccountUser) pada identitas layanan - Pembaca Artifact Registry (
roles/artifactregistry.reader) pada repositori Artifact Registry dari image container tugas
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
Di Google Cloud konsol, buka halaman Cloud Run:
Pilih Jobs dari menu navigasi Cloud Run, lalu klik Deploy container untuk menampilkan formulir Create job.
Isi kolom di formulir Create job, seperti yang dijelaskan dalam Membuat tugas.
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
Di Google Cloud konsol, buka halaman Cloud Run:
Klik nama tugas yang ingin Anda edit.
Klik View &edit job configuration.
Pilih Delayed execution.
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
Di Google Cloud konsol, buka halaman Cloud Run:
Klik nama tugas yang ingin Anda edit.
Klik View &edit job configuration.
Hapus centang pada Delayed execution.
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
Di Google Cloud konsol, buka halaman Jobs Cloud Run:
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.
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