Halaman ini menjelaskan cara Cloud Run menjalankan tugasnya. Mengeksekusi tugas membuat eksekusi tugas di mana semua tugas harus dijalankan hingga selesai dengan sukses agar eksekusi tugas berhasil. Eksekusi tugas akan menulis log ke Cloud Logging dan mengirim data pemantauan ke Cloud Monitoring.
Selain fitur logging ini, Anda juga dapat melihat detail eksekusi tugas untuk 1.000 eksekusi tugas terbaru menggunakan panel detail eksekusi, beserta eksekusi yang terjadi dalam tujuh hari terakhir. Detail eksekusi lama dipindahkan dan tidak akan lagi terlihat di panel detail eksekusi. Namun, log dan data pemantauan untuk eksekusi yang lebih lama masih tersedia di Cloud Logging dan Cloud Monitoring, yang tunduk pada kebijakan retensi untuk produk tersebut
Apa itu eksekusi tugas?
Mengeksekusi tugas Cloud Run berarti membuat instance dan menjalankan beban kerja yang dikonfigurasi hingga selesai, yang dibagi menjadi satu atau beberapa tugas paralel atau berurutan, tanpa memproses atau menyalurkan permintaan HTTP.
Entitas inti tugas adalah sebagai berikut:
Tugas: Konfigurasi statis dan persisten. File ini menentukan image container, alokasi resource (CPU, memori, GPU), variabel lingkungan, dan parameter eksekusi (total tugas, paralelisme, waktu tunggu, dan coba lagi).
Eksekusi: Peristiwa siklus proses temporal yang dibuat saat Anda memicu tugas. "Eksekusi" mewakili objek pelacakan keseluruhan untuk satu kali menjalankan tugas.
Tugas: Satu instance yang berjalan dari container yang dikonfigurasi. Eksekusi terdiri dari satu atau beberapa tugas (
taskCount).
Pada dasarnya, ada dua cara berbeda untuk menjalankan tugas:
Sebagai tugas reguler.
Saat Anda menjalankan tugas sebagai tugas reguler (default), eksekusi akan dimulai sesegera mungkin.
Sebagai tugas yang tertunda.
Saat menjalankan tugas sebagai tugas tertunda, Anda setuju untuk menunda tugas yang tidak mendesak hingga durasi maksimum 12 jam, sebagai imbalan atas harga yang lebih baik.
Meskipun setiap tugas bersifat reguler atau tertunda, Anda dapat mengganti setelan ini untuk satu eksekusi tugas, sehingga tugas reguler dieksekusi sebagai tugas tertunda, atau tugas tertunda dieksekusi sebagai tugas reguler. Lihat Menunda eksekusi tugas untuk mengetahui detailnya.
Tabel berikut memberikan tampilan yang lebih terperinci tentang kemungkinan skenario eksekusi untuk instance tugas tertentu:
| Metode Eksekusi | Perintah / Pemicu | Waktu Alokasi Resource | Tingkat Biaya | Penundaan / Waktu Tunggu Maksimum | Kasus Penggunaan Umum |
|---|---|---|---|---|---|
| Standard (Sesuai Permintaan) | gcloud run jobs execute |
Segera dimulai / secepatnya | Tarif Tugas Standar | Mulai segera; durasi maksimal 7 hari | Pemrosesan data ad-hoc, pemicu manual, pipeline berbasis peristiwa |
| Buat/Perbarui & Jalankan | gcloud run jobs create/update --execute-now |
Segera dimulai setelah dibuat | Tarif Tugas Standar | Mulai segera; durasi maksimal 7 hari | Deployment CI/CD, migrasi skema, pemanasan pasca-deployment |
| Eksekusi Tertunda | gcloud beta run jobs execute --delay-execution |
Dimulai dalam jendela yang dioptimalkan sistem | Tarif Diskon | Penundaan maksimal 12 jam sebelum pembatalan otomatis, waktu tunggu maksimum 12 jam | Tugas batch tidak mendesak, analisis semalam, inferensi AI massal |
| Eksekusi dengan Penggantian | gcloud run jobs execute --args=... --tasks=... |
Segera dimulai / secepatnya | Tarif Tugas Standar | Mulai segera; waktu tunggu diganti | Pengisian ulang khusus partisi, ukuran batch dinamis, proses debug |
Peran yang diperlukan
Untuk mendapatkan izin yang Anda perlukan untuk operasi yang dijelaskan di halaman ini, minta administrator Anda untuk memberi Anda salah satu peran IAM berikut di tugas Cloud Run Anda:
- Untuk menjalankan tugas menggunakan Google Cloud CLI: Cloud Run Invoker (
roles/run.invoker) pada tugas Cloud Run - Untuk menjalankan tugas menggunakan konsol Google Cloud , mengganti konfigurasi tugas, atau membatalkan eksekusi tugas: Cloud Run Developer (
roles/run.developer) di tugas Cloud Run
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.
Menjalankan tugas
Anda dapat menjalankan tugas menggunakan konsol Google Cloud , gcloud CLI, library klien, atau REST API.
Konsol
Untuk menjalankan tugas, ikuti langkah-langkah berikut:
Di konsol Google Cloud , buka halaman Tugas Cloud Run:
Temukan tugas yang Anda minati.
Klik tugas untuk menampilkan halaman detail tugas.
Klik Jalankan.
gcloud
Untuk menjalankan tugas yang ada, jalankan perintah berikut:
gcloud run jobs execute JOB
Jika Anda ingin perintahnya menunggu sampai eksekusi selesai, jalankan perintah berikut:
gcloud run jobs execute JOB --wait --region=REGION
Untuk melihat log eksekusi segera setelah meluncurkannya, jalankan perintah berikut:
gcloud beta run jobs execute JOB --tail --region=REGION
Ganti kode berikut:
JOB: nama tugas Cloud Run Anda.REGION: region tempat resource dapat ditemukan. Contoh,europe-west1. Atau, tetapkan propertirun/region.
Library klien
Untuk menjalankan tugas yang ada dari kode:
REST API
Untuk menjalankan tugas yang ada, kirim permintaan HTTP POST ke
metode API jobs.run.
Misalnya, menggunakan curl:
curl -H "Content-Type: application/json" \ -H "Authorization: Bearer ACCESS_TOKEN" \ -X POST \ -d '' \ https://run.googleapis.com/v2/projects/PROJECT_ID/locations/REGION/jobs/JOB:run
Ganti kode berikut:
ACCESS_TOKEN: token akses yang valid untuk akun yang memiliki izin IAM untuk menjalankan tugas. Misalnya, jika login ke gcloud, Anda dapat mengambil token akses menggunakangcloud auth print-access-token. Dari dalam instance container Cloud Run, Anda dapat mengambil token akses menggunakan server metadata instance container.PROJECT_ID: Google Cloud Project IDREGION: Google Cloud region tugas.JOB: nama tugas Cloud Run Anda.
Menjalankan tugas segera
Konsol
Untuk segera menjalankan tugas, ikuti langkah-langkah berikut:
Di konsol Google Cloud , buka halaman Cloud Run:
Pilih Jobs dari menu navigasi Cloud Run:
Jika Anda membuat tugas baru, klik Deploy container untuk mengisi halaman setelan tugas awal.
Jika Anda mengonfigurasi tugas yang ada, pilih tugas, lalu klik Lihat dan edit konfigurasi tugas.
Buka bagian bawah halaman dan centang kotak Jalankan tugas segera sebelum membuat atau memperbarui tugas.
gcloud
Anda dapat menentukan flag --execute-now
saat membuat atau memperbarui tugas.
Untuk membuat tugas, jalankan perintah berikut:
gcloud run jobs create JOB \ --image IMAGE_URL \ --execute-now \ --region=REGION
Untuk mengupdate tugas, jalankan perintah berikut:
gcloud run jobs update JOB --execute-now --region=REGION
Ganti kode berikut:
JOB: nama tugas Cloud Run Anda.IMAGE_URL: referensi ke image container—misalnya,us-docker.pkg.dev/cloudrun/container/job:latest.REGION: region tempat resource dapat ditemukan. Contoh,europe-west1.
YAML
Anda dapat menyimpan spesifikasi tugas dalam file YAML, lalu men-deploy-nya
menggunakan gcloud CLI.
Jika Anda membuat tugas baru, lewati langkah ini. Jika Anda memperbarui tugas yang ada, download konfigurasi YAML-nya:
gcloud run jobs describe JOB --format export > job.yaml
Konfigurasikan atribut
startExecutionTokenseperti yang ditunjukkan berikut:apiVersion: run.googleapis.com/v2 kind: Job metadata: name: JOB spec: template: spec: template: spec: containers: - image: IMAGE_URL startExecutionToken: START_EXECUTION_SUFFIX
Ganti kode berikut:
JOB: nama tugas Cloud Run Anda.IMAGE_URL: referensi ke image container—misalnya,us-docker.pkg.dev/cloudrun/container/job:latest.START_EXECUTION_SUFFIX: string unik yang digunakan sebagai akhiran untuk membuat eksekusi baru. Tugas akan siap saat eksekusi berhasil dimulai. Jumlah panjang nama tugas dan token harus kurang dari 63 karakter.
Anda juga dapat menentukan konfigurasi lainnya, seperti variabel lingkungan atau batas memori.
Buat atau perbarui tugas menggunakan perintah berikut:
gcloud run jobs replace job.yaml
Perintah
gcloud run jobs replacesecara default akan menggunakan filejob.yamljika ada.
Terraform
Untuk mempelajari cara menerapkan atau menghapus konfigurasi Terraform, lihat Perintah dasar Terraform.
Tambahkan kode berikut ke resourcegoogle_cloud_run_v2_job
di konfigurasi Terraform Anda:resource "google_cloud_run_v2_job" "default" {
name = "cloudrun-job"
location = "REGION"
deletion_protection = false
start_execution_token = "START_EXECUTION_SUFFIX"
template {
template {
containers {
image = "us-docker.pkg.dev/cloudrun/container/job"
}
}
}
}
Ganti kode berikut:
REGION: Google Cloud region. Misalnya, europe-west1.START_EXECUTION_SUFFIX: string unik yang digunakan sebagai akhiran untuk membuat eksekusi baru. Tugas akan siap saat eksekusi berhasil dimulai. Jumlah panjang nama tugas dan token harus kurang dari 63 karakter.
Library klien
Untuk segera menjalankan tugas dari kode menggunakan Library Klien Cloud:
REST API
Untuk menjalankan tugas segera setelah dibuat, kirim permintaan HTTP POST ke
endpoint jobs Cloud Run Admin API.
Misalnya, menggunakan curl:
curl -H "Content-Type: application/json" \ -H "Authorization: Bearer ACCESS_TOKEN" \ -X POST \ -d '{ "template": { "template": { "containers": { "image": "IMAGE_URL" } } }, "startExecutionToken": "START_EXECUTION_SUFFIX" }' \ "https://run.googleapis.com/v2/projects/PROJECT_ID/locations/REGION/jobs?jobId=JOB"
Ganti kode berikut:
ACCESS_TOKEN: token akses yang valid untuk akun yang memiliki izin IAM untuk membuat tugas. Misalnya, jika login ke gcloud, Anda dapat mengambil token akses menggunakangcloud auth print-access-token. Dari dalam instance container Cloud Run, Anda dapat mengambil token akses menggunakan server metadata instance container.IMAGE_URL: referensi ke image container—misalnya,us-docker.pkg.dev/cloudrun/container/job:latest.START_EXECUTION_SUFFIX: string unik yang digunakan sebagai akhiran untuk membuat eksekusi baru. Tugas akan siap saat eksekusi berhasil dimulai. Jumlah panjang nama tugas dan token harus kurang dari 63 karakter.PROJECT_ID: Google Cloud Project IDREGION: Google Cloud region tugas.JOB: nama tugas Cloud Run Anda.
Menunda eksekusi
Untuk menonaktifkan eksekusi langsung, atau mengonversi tugas reguler menjadi tugas tertunda, lihat Menunda eksekusi tugas.
Mengganti konfigurasi tugas untuk eksekusi tertentu
Dengan menetapkan parameter ini saat memulai eksekusi tugas baru, Anda dapat mengganti argumen, variabel lingkungan, jumlah, dan waktu tunggu yang dikonfigurasi untuk menjalankan suatu tugas. Parameter yang Anda tentukan hanya memengaruhi eksekusi ini, bukan eksekusi berikutnya karena definisi tugas yang mendasarinya tidak berubah.
Beberapa kasus penggunaan umum mencakup:
- Anda menjalankan tugas secara terprogram dari kode Anda, dan ingin mengganti argumen atau variabel lingkungan, misalnya untuk memberi tahu tugas lokasi data input untuk eksekusi ini.
- Anda memiliki tugas dengan setiap tugas hanya digunakan untuk memproses satu bagian data input. Anda ingin mengganti jumlah tugas berdasarkan jumlah input yang diproses.
- Waktu berjalannya tugas Anda bervariasi di setiap eksekusi. Anda ingin mengganti waktu tunggu tugas berdasarkan waktu berjalannya tugas yang diharapkan.
Anda dapat mengganti konfigurasi tugas untuk eksekusi menggunakan konsol Google Cloud , gcloud CLI, library klien, atau REST API:
Konsol
Di konsol Google Cloud , buka halaman tugas Cloud Run:
Klik tugas untuk membuka panel detail tugas.
Klik panah luaskan di depan tombol Edit, lalu klik Execute dengan penggantian untuk menampilkan formulir Jalankan tugas dengan penggantian.
Konfigurasi argumen, variabel lingkungan, jumlah tugas, dan konfigurasi waktu tunggu tugas untuk eksekusi ini, lalu klik Jalankan.
gcloud
Gunakan perintah:
gcloud run jobs execute JOB \ --args ARGS \ --update-env-vars KEY=VALUE,KEY_N=VALUE_N \ --tasks TASKS \ --task-timeout TIMEOUT
Ganti kode berikut:
JOB: nama tugas Cloud Run Anda.ARGS: argumen tugas.- Pasangan
KEYdanVALUE: variabel lingkungan. TASKS: jumlah tugas.TIMEOUT: waktu tunggu tugas.
Library klien
Untuk menjalankan tugas yang ada dari kode, dengan mengganti konfigurasi tugas:
REST API
Untuk mengganti konfigurasi tugas untuk tugas yang ada, kirim permintaan HTTP POST ke
endpoint jobs Cloud Run Admin API
Misalnya, menggunakan curl:
curl -H "Content-Type: application/json" \ -H "Authorization: Bearer ACCESS_TOKEN" \ -X POST \ -d '{"overrides": {"containerOverrides": [{"args": ["ARGS"], "env": [{"name": "KEY", "value": "VALUE"}]}], "taskCount": TASKS, "timeout": "TIMEOUT" }}' \ https://run.googleapis.com/v2/projects/PROJECT_ID/locations/REGION/jobs/JOB:run
Ganti kode berikut:
ACCESS_TOKEN: token akses yang valid untuk akun yang memiliki izin IAM untuk menjalankan penggantian tugas. Misalnya, jika login ke gcloud, Anda dapat mengambil token akses menggunakangcloud auth print-access-token. Dari dalam instance container Cloud Run, Anda dapat mengambil token akses menggunakan server metadata instance container.ARGS: argumen tugas.- Pasangan
KEYdanVALUE: variabel lingkungan. TASKS: jumlah tugas.TIMEOUT: waktu tunggu tugas.PROJECT_ID: Google Cloud Project IDREGION: Google Cloud region tugas.JOB: nama tugas Cloud Run Anda.
Membatalkan eksekusi tugas
Untuk menghentikan eksekusi tugas Cloud Run yang sedang berjalan, gunakan fitur pembatalan. Membatalkan eksekusi tugas akan menghentikan eksekusi tugas saat ini. Eksekusi yang dibatalkan akan berstatus cancelled. Anda tetap dapat melihat eksekusi tersebut, termasuk data konfigurasi, log, dan data pemantauan.
Membatalkan eksekusi tugas tidak akan membatalkan tagihan untuk penggunaan tugas Cloud Run selama tugas dijalankan.
Untuk membatalkan eksekusi, gunakan konsol Google Cloud , gcloud CLI, library klien, atau REST API:
Konsol
Di konsol Google Cloud , buka halaman tugas Cloud Run:
Klik tugas untuk membuka panel detail tugas.
Pilih eksekusi tugas yang ingin Anda batalkan.
Di menu Tindakan, klik ikon elipsis, lalu klik Batalkan.
gcloud
Gunakan perintah:
gcloud run jobs executions cancel EXECUTION_NAME
Ganti EXECUTION_NAME dengan nama eksekusi.
Perintah ini meminta konfirmasi, jadi tanggapi permintaan dengan memasukkan
y untuk mengonfirmasi.
Library klien
Untuk membatalkan eksekusi tugas dari kode:
REST API
Untuk membatalkan eksekusi tugas, kirim permintaan HTTP POST ke
endpoint jobs Cloud Run Admin API
Misalnya, menggunakan curl:
curl -H "Content-Type: application/json" \ -H "Authorization: Bearer ACCESS_TOKEN" \ -X POST \ -d '' \ https://run.googleapis.com/v2/projects/PROJECT_ID/locations/REGION/jobs/JOB/executions/EXECUTION_NAME:cancel
Ganti kode berikut:
ACCESS_TOKEN: token akses yang valid untuk akun yang memiliki izin IAM untuk membatalkan eksekusi tugas. Misalnya, jika login ke gcloud, Anda dapat mengambil token akses menggunakangcloud auth print-access-token. Dari dalam instance container Cloud Run, Anda dapat mengambil token akses menggunakan server metadata instance container.PROJECT_ID: Google Cloud Project IDREGION: Google Cloud region tugas.JOB: nama tugas Cloud Run Anda.EXECUTION_NAME: nama eksekusi tugas.
Menghapus eksekusi tugas
Anda dapat menghapus eksekusi tugas, meskipun sedang dijalankan. Jika Anda menghapus eksekusi, eksekusi akan berhenti dilanjutkan. Untuk mengetahui detailnya, lihat Menghapus eksekusi tugas.
Langkah berikutnya
Setelah Anda menyelesaikan eksekusi tugas, Anda dapat mengikuti langkah-langkah berikut: