Anda dapat menjalankan alur kerja berdurasi singkat dengan menjalankannya sebagai Tugas. Menjalankan Tugas menjelaskan cara menjalankan Tugas di bagian Aplikasi.
Anda juga dapat menjadwalkan Tugas untuk berjalan pada interval berulang yang ditentukan menggunakan format unix-cron. Dengan Tugas terjadwal, Anda terlebih dahulu mengirimkan Aplikasi yang menjalankan Tugas seperti yang Anda lakukan dengan Tugas yang tidak terjadwal, lalu membuat Tugas untuk menjadwalkan Tugas.
Anda dapat menentukan jadwal agar Tugas berjalan beberapa kali sehari atau pada hari dan bulan tertentu.
Mendorong Aplikasi untuk menjalankan Tugas terjadwal
Clone repositori test-app:
git clone https://github.com/cloudfoundry-samples/test-app test-appcd test-appKirim Aplikasi.
Kirim Aplikasi dengan perintah
kf push APP_NAME --task. Flag--taskmenunjukkan bahwa Aplikasi dimaksudkan untuk digunakan dalam menjalankan Tugas, sehingga tidak ada rute yang akan dibuat di Aplikasi dan Aplikasi tidak akan di-deploy sebagai aplikasi yang berjalan lama.kf push test-app --taskKonfirmasi bahwa tidak ada instance atau rute Aplikasi yang dibuat dengan mencantumkan Aplikasi:
kf appsPerhatikan bahwa Aplikasi tidak dimulai dan tidak memiliki URL:
Listing Apps in Space: test-space Name Instances Memory Disk CPU URLs test-app stopped 1Gi 1Gi 100m <nil>
Membuat Tugas
Untuk menjalankan Tugas sesuai jadwal, Anda harus membuat Tugas yang menjelaskan Tugas tersebut terlebih dahulu:
kf create-job test-app test-job "printenv"Tugas dimulai dalam keadaan ditangguhkan atau tidak dijadwalkan, dan tidak membuat Tugas hingga dijalankan secara manual oleh kf run-job atau dijadwalkan oleh kf schedule-task.
Menjalankan Tugas secara manual
Tugas dapat dijalankan secara ad-hoc, mirip dengan menjalankan Tugas dengan kf run-task. Opsi ini
dapat berguna untuk menguji Tugas sebelum dijadwalkan atau dijalankan sesuai kebutuhan selain
jadwal.
kf run-job test-jobPerintah ini menjalankan Task yang ditentukan oleh Job satu kali secara langsung.
Menjadwalkan Tugas
Untuk menjadwalkan Tugas agar dijalankan, Anda harus memberikan jadwal unix-cron dalam
perintah kf schedule-job:
kf schedule-job test-job "* * * * *"Perintah ini memicu Tugas untuk membuat Tugas secara otomatis sesuai jadwal yang ditentukan. Dalam contoh ini, Tugas berjalan setiap menit.
Anda dapat memperbarui jadwal Tugas dengan menjalankan kf schedule-task dengan jadwal baru.
Job di Kf hanya dapat memiliki satu jadwal cron. Hal ini berbeda dengan PCF Scheduler, yang memungkinkan beberapa jadwal untuk satu Tugas.
Jika memerlukan beberapa jadwal cron, Anda dapat melakukannya dengan beberapa Tugas.
Mengelola Tugas dan jadwal
Lihat semua Tugas, baik yang terjadwal maupun tidak terjadwal, di Ruang saat ini menggunakan
perintah kf jobs:
$ kf jobs
Listing Jobs in Space: test space
Name Schedule Suspend LastSchedule Age Ready Reason
test-job * * * * * <nil> 16s 2m True <nil>
unscheduled-job 0 0 30 2 * true 16s 2m True <nil>
Selain itu, Anda hanya dapat melihat Tugas yang dijadwalkan secara aktif dengan
perintah kf job-schedules.
$ kf job-schedules
Listing job schedules in Space: test space
Name Schedule Suspend LastSchedule Age Ready Reason
test-job * * * * * <nil> 16s 2m True <nil>
Perhatikan bagaimana unscheduled-job tidak tercantum dalam output kf job-schedules.
Membatalkan jadwal Tugas
Anda dapat menghentikan Tugas terjadwal dengan perintah kf delete-job-schedule:
kf delete-job-schedule test-jobPerintah ini menangguhkan Job dan menghentikannya membuat Tugas pada jadwal sebelumnya.
Tugas tidak dihapus dan dapat dijadwalkan lagi oleh kf schedule-job untuk melanjutkan eksekusi.
Menghapus Tugas
Seluruh Tugas dapat dihapus dengan perintah kf delete-job:
kf delete-job test-jobPerintah ini menghapus Tugas dan semua Tugas yang dibuat oleh Tugas, baik eksekusi terjadwal maupun manual. Jika ada Tugas yang masih berjalan, perintah ini akan menghapusnya secara paksa.
Jika Anda ingin memastikan bahwa Tugas yang sedang berjalan tidak terganggu, hapus terlebih dahulu
jadwal Tugas dengan kf delete-job-schedule, tunggu hingga semua Tugas selesai,
lalu hapus tugas dengan memanggil kf delete-job.