Siklus hidup tugas dalam proses HealthOmics - AWS HealthOmics

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Siklus hidup tugas dalam proses HealthOmics

Tugas adalah proses tunggal dalam menjalankan. HealthOmics memetakan setiap tugas dalam alur kerja Anda ke jenis instans komputasi omics yang paling sesuai dengan sumber daya tugas yang diperlukan. Anda menentukan sumber daya yang diperlukan dalam definisi alur kerja. Untuk informasi lebih lanjut, LihatPersyaratan komputasi dan memori untuk tugas HealthOmics .

HealthOmics menyediakan penyimpanan berjalan sementara untuk tugas yang akan digunakan. HealthOmics menyalin file input tugas ke penyimpanan run sementara sebagai file hanya-baca. HealthOmics menyediakan tautan simbolis sehingga tugas dapat mengakses file input dari direktori kerja. Tugas hanya memiliki akses ke file yang Anda deklarasikan dalam file definisi alur kerja.

Nilai status tugas

Anda dapat melacak kemajuan tugas dengan memantau status tugas. Saat Anda memulai proses, HealthOmics tetapkan status tugas Pending untuk setiap tugas yang sedang dijalankan. Saat tugas dimulai dan berlanjut melalui siklus hidupnya, HealthOmics perbarui nilai status untuk mencerminkan kemajuannya saat ini.

Anda dapat mengambil status tugas menggunakan salah satu metode berikut:

  • HealthOmics Konsol menampilkan status setiap tugas dalam proses pada Run details halaman.

  • Operasi GetRunTask API mengembalikan status tugas.

  • Anda dapat memantau status tugas menggunakan EventBridge acara. Untuk informasi selengkapnya, lihat Menggunakan EventBridge dengan AWS HealthOmics.

Anda dapat mengambil status tugas saat ini menggunakan operasi GetRunTask API. HealthOmics Konsol menampilkan status untuk setiap tugas dalam proses pada Run details halaman.

HealthOmics mendukung nilai status tugas berikut:

Tertunda

Tugas Anda dalam antrian, menunggu untuk memulai. Tugas tetap tertunda untuk waktu yang singkat sebelum mereka mulai.

  • Tugas tetap tertunda setelah akun Anda mencapai jumlah maksimum tugas bersamaan.

  • Tugas tetap tertunda jika run adalah bagian dari grup run yang telah mencapai nilai maksimum sumber dayanya.

  • Anda dapat menyesuaikan prioritas lari sehingga proses antrian tertentu dan tugasnya dimulai sebelum proses antrian lainnya. Untuk informasi selengkapnya tentang menjalankan prioritas, lihat Jalankan prioritas

Starting

HealthOmics membuat tugas dan menyediakan sumber daya yang diperlukan untuk tugas tersebut, seperti simpul tugas alur kerja.

Berjalan

Status tugas berjalan saat HealthOmics sedang memproses tugas.

Stopping

Setelah menyelesaikan pemrosesan tugas dan mengekspor data keluaran, tugas beralih ke Berhenti.

  • HealthOmics deprovision node tugas alur kerja.

Selesai

HealthOmics telah selesai memproses tugas dan telah mentransfer data output ke sistem file penyimpanan run.

Failed

HealthOmics mengalami kesalahan saat memproses tugas dan tidak menyelesaikannya.

  • Tugas beralih ke status Berhenti (HealthOmics membatalkan ketentuan sumber daya) dan kemudian ke status Gagal.

  • Jika kesalahan adalah kesalahan layanan (kode status HTTP 5XX), dan alur kerja mendukung percobaan ulang untuk tugas ini, HealthOmics mencoba untuk memproses tugas lagi. HealthOmics menetapkan ID tugas baru untuk mencoba lagi.

Dibatalkan

HealthOmics menghentikan tugas setelah permintaan yang dimulai pengguna untuk membatalkan proses.

  • Tugas beralih ke status Berhenti (HealthOmics membatalkan ketentuan sumber daya) dan kemudian ke status Dibatalkan.

Memecahkan masalah tugas alur kerja

Berikut ini adalah praktik dan pertimbangan terbaik untuk memecahkan masalah tugas Anda.

  • Log tugas bergantung pada STDOUT dan STDERR diproduksi oleh tugas. Jika aplikasi yang digunakan dalam tugas tidak menghasilkan salah satu dari ini, maka tidak akan ada log tugas. Untuk membantu debugging, gunakan aplikasi dalam verbose mode.

  • Untuk melihat perintah yang dijalankan dalam tugas bersama dengan nilai interpolasinya, gunakan perintah set -x Bash. Ini dapat membantu menentukan apakah tugas menggunakan input yang benar dan mengidentifikasi di mana kesalahan mungkin membuat tugas tidak berjalan sebagaimana dimaksud.

  • Gunakan echo perintah untuk menampilkan nilai-nilai variabel ke STDOUT atauSTDERR. Ini membantu Anda mengonfirmasi bahwa mereka sedang diatur seperti yang diharapkan.

  • Gunakan perintah seperti ls -l <name_of_input_file> untuk mengonfirmasi bahwa input ada dan memiliki ukuran yang diharapkan. Jika tidak, ini mungkin mengungkapkan masalah dengan tugas sebelumnya yang menghasilkan output kosong karena bug.

  • Gunakan perintah df -Ph . | awk 'NR==2 {print $4}' dalam skrip tugas untuk menentukan ruang yang saat ini tersedia untuk tugas dan membantu mengidentifikasi situasi di mana Anda mungkin perlu menjalankan alur kerja dengan alokasi penyimpanan tambahan.

Menyertakan salah satu perintah sebelumnya dalam skrip tugas mengasumsikan bahwa wadah tugas juga menyertakan perintah ini dan bahwa mereka berada di lingkungan path wadah.