Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Kirim dengan Deadline Cloud
Untuk menjalankan pekerjaan Deadline Cloud di host pekerja Anda, Anda membuat dan menggunakan paket pekerjaan Open Job Description (OpenJD) untuk mengonfigurasi pekerjaan. Bundel mengkonfigurasi pekerjaan, misalnya dengan menentukan file input untuk pekerjaan dan di mana untuk menulis output pekerjaan. Topik ini mencakup contoh cara Anda dapat mengonfigurasi bundel pekerjaan.
Sebelum Anda dapat mengikuti prosedur di bagian ini, Anda harus menyelesaikan yang berikut:
Untuk menggunakan AWS Deadline Cloud untuk menjalankan pekerjaan, gunakan prosedur berikut. Gunakan AWS CloudShell tab pertama untuk mengirimkan pekerjaan ke peternakan pengembang Anda. Gunakan CloudShell tab kedua untuk melihat output agen pekerja.
Topik
Kirim simple_job sampel
Setelah Anda membuat peternakan dan menjalankan agen pekerja, Anda dapat mengirimkan simple_job contoh ke Deadline Cloud.
Untuk mengirimkan simple_job contoh ke Deadline Cloud
-
Pilih CloudShell tab pertama Anda.
-
Unduh sampel dari GitHub.
cd ~ git clone https://github.com/aws-deadline/deadline-cloud-samples.git
-
Arahkan ke direktori sampel bundel pekerjaan.
cd ~/deadline-cloud-samples/job_bundles/
-
Kirim simple_job sampel.
deadline bundle submit simple_job
-
Pilih CloudShell tab kedua Anda untuk melihat output logging tentang panggilan
BatchGetJobEntities
, mendapatkan sesi, dan menjalankan tindakan sesi.... [2024-03-27 16:00:21,846][INFO ] 🔷 Session.Starting 🔷 [session-053d77cef82648fe2] Starting new Session. [queue-3ba4ff683ff54db09b851a2ed8327d7b/job-d34cc98a6e234b6f82577940ab4f76c6] [2024-03-27 16:00:21,853][INFO ] 📤 API.Req 📤 [deadline:BatchGetJobEntity] resource={'farm-id': 'farm-3e24cfc9bbcd423e9c1b6754bc1', 'fleet-id': 'fleet-246ee60f46d44559b6cce010d05', 'worker-id': 'worker-75e0fce9c3c344a69bff57fcd83'} params={'identifiers': [{'jobDetails': {'jobId': 'job-d34cc98a6e234b6f82577940ab4'}}]} request_url=https://scheduling.deadline.us-west-2.amazonaws.com/2023-10-12/farms/farm-3e24cfc9bbcd423e /fleets/fleet-246ee60f46d44559b1 /workers/worker- 75e0fce9c3c344a69b /batchGetJobEntity [2024-03-27 16:00:22,013][INFO ] 📥 API.Resp 📥 [deadline:BatchGetJobEntity](200) params={'entities': [{'jobDetails': {'jobId': 'job-d34cc98a6e234b6f82577940ab6', 'jobRunAsUser': {'posix': {'user': 'job-user', 'group': 'job-group'}, 'runAs': 'QUEUE_CONFIGURED_USER'}, 'logGroupName': '/aws/deadline/farm-3e24cfc9bbcd423e9c1b6754bc1/queue-3ba4ff683ff54db09b851a2ed83', 'parameters': '*REDACTED*', 'schemaVersion': 'jobtemplate-2023-09'}}], 'errors': []} request_id=a3f55914-6470-439e-89e5-313f0c6 [2024-03-27 16:00:22,013][INFO ] 🔷 Session.Add 🔷 [session-053d77cef82648fea9c69827182] Appended new SessionActions. (ActionIds: ['sessionaction-053d77cef82648fea9c69827182-0']) [queue-3ba4ff683ff54db09b851a2ed8b/job-d34cc98a6e234b6f82577940ab6] [2024-03-27 16:00:22,014][WARNING ] 🔷 Session.User 🔷 [session-053d77cef82648fea9c69827182] Running as the Worker Agent's user. (User: cloudshell-user) [queue-3ba4ff683ff54db09b851a2ed8b/job-d34cc98a6e234b6f82577940ac6] [2024-03-27 16:00:22,015][WARNING ] 🔷 Session.AWSCreds 🔷 [session-053d77cef82648fea9c69827182] AWS Credentials are not available: Queue has no IAM Role. [queue-3ba4ff683ff54db09b851a2ed8b/job-d34cc98a6e234b6f82577940ab6] [2024-03-27 16:00:22,026][INFO ] 🔷 Session.Logs 🔷 [session-053d77cef82648fea9c69827182] Logs streamed to: AWS CloudWatch Logs. (LogDestination: /aws/deadline/farm-3e24cfc9bbcd423e9c1b6754bc1/queue-3ba4ff683ff54db09b851a2ed83/session-053d77cef82648fea9c69827181) [queue-3ba4ff683ff54db09b851a2ed83/job-d34cc98a6e234b6f82577940ab4] [2024-03-27 16:00:22,026][INFO ] 🔷 Session.Logs 🔷 [session-053d77cef82648fea9c69827182] Logs streamed to: local file. (LogDestination: /home/cloudshell-user/demoenv-logs/queue-3ba4ff683ff54db09b851a2ed8b/session-053d77cef82648fea9c69827182.log) [queue-3ba4ff683ff54db09b851a2ed83/job-d34cc98a6e234b6f82577940ab4] ...
catatan
Hanya output logging dari agen pekerja yang ditampilkan. Ada log terpisah untuk sesi yang menjalankan pekerjaan.
-
Pilih tab pertama Anda, lalu periksa file log yang ditulis agen pekerja.
-
Arahkan ke direktori log agen pekerja dan lihat isinya.
cd ~/demoenv-logs ls
-
Cetak file log pertama yang dibuat oleh agen pekerja.
cat worker-agent-bootstrap.log
File ini berisi output agen pekerja tentang bagaimana itu disebut Deadline Cloud API untuk membuat sumber daya pekerja di armada Anda, dan kemudian mengambil peran armada.
-
Cetak output file log saat agen pekerja bergabung dengan armada.
cat worker-agent.log
Log ini berisi output tentang semua tindakan yang diambil agen pekerja, tetapi tidak berisi output tentang antrian tempat ia menjalankan pekerjaan, kecuali untuk sumber daya tersebut IDs .
-
Cetak file log untuk setiap sesi dalam direktori yang diberi nama sama dengan id sumber daya antrian.
cat $DEV_QUEUE_ID/session-*.log
Jika pekerjaan berhasil, output file log akan mirip dengan yang berikut:
cat $DEV_QUEUE_ID/$(ls -t $DEV_QUEUE_ID | head -1)
2024-03-27 16:00:22,026 WARNING Session running with no AWS Credentials. 2024-03-27 16:00:22,404 INFO 2024-03-27 16:00:22,405 INFO ============================================== 2024-03-27 16:00:22,405 INFO --------- Running Task 2024-03-27 16:00:22,405 INFO ============================================== 2024-03-27 16:00:22,406 INFO ---------------------------------------------- 2024-03-27 16:00:22,406 INFO Phase: Setup 2024-03-27 16:00:22,406 INFO ---------------------------------------------- 2024-03-27 16:00:22,406 INFO Writing embedded files for Task to disk. 2024-03-27 16:00:22,406 INFO Mapping: Task.File.runScript -> /sessions/session-053d77cef82648fea9c698271812a/embedded_fileswa_gj55_/tmp2u9yqtsz 2024-03-27 16:00:22,406 INFO Wrote: runScript -> /sessions/session-053d77cef82648fea9c698271812a/embedded_fileswa_gj55_/tmp2u9yqtsz 2024-03-27 16:00:22,407 INFO ---------------------------------------------- 2024-03-27 16:00:22,407 INFO Phase: Running action 2024-03-27 16:00:22,407 INFO ---------------------------------------------- 2024-03-27 16:00:22,407 INFO Running command /sessions/session-053d77cef82648fea9c698271812a/tmpzuzxpslm.sh 2024-03-27 16:00:22,414 INFO Command started as pid: 471 2024-03-27 16:00:22,415 INFO Output: 2024-03-27 16:00:22,420 INFO Welcome to AWS Deadline Cloud! 2024-03-27 16:00:22,571 INFO 2024-03-27 16:00:22,572 INFO ============================================== 2024-03-27 16:00:22,572 INFO --------- Session Cleanup 2024-03-27 16:00:22,572 INFO ============================================== 2024-03-27 16:00:22,572 INFO Deleting working directory: /sessions/session-053d77cef82648fea9c698271812a
-
-
Cetak informasi tentang pekerjaan itu.
deadline job get
Saat Anda mengirimkan pekerjaan, sistem menyimpannya sebagai default sehingga Anda tidak perlu memasukkan ID pekerjaan.
Kirim simple_job dengan parameter
Anda dapat mengirimkan pekerjaan dengan parameter. Dalam prosedur berikut, Anda mengedit simple_job template untuk menyertakan pesan kustom, kirimkan simple_job, lalu cetak file log sesi untuk melihat pesan.
Untuk mengirimkan simple_job sampel dengan parameter
-
Pilih CloudShell tab pertama Anda, lalu arahkan ke direktori sampel bundel pekerjaan.
cd ~/deadline-cloud-samples/job_bundles/
-
Cetak isi simple_job templat.
cat simple_job/template.yaml
parameterDefinitions
Bagian denganMessage
parameter akan terlihat seperti berikut:parameterDefinitions: - name: Message type: STRING default: Welcome to AWS Deadline Cloud!
-
Kirim simple_job sampel dengan nilai parameter, lalu tunggu pekerjaan selesai berjalan.
deadline bundle submit simple_job \ -p "Message=Greetings from the developer getting started guide."
-
Untuk melihat pesan kustom, lihat file log sesi terbaru.
cd ~/demoenv-logs cat $DEV_QUEUE_ID/$(ls -t $DEV_QUEUE_ID | head -1)
Buat bundel pekerjaan simple_file_job dengan file I/O
Pekerjaan render perlu membaca definisi adegan, merender gambar darinya, dan kemudian menyimpan gambar itu ke file output. Anda dapat mensimulasikan tindakan ini dengan membuat pekerjaan menghitung hash input alih-alih merender gambar.
Untuk membuat bundel pekerjaan simple_file_job dengan file I/O
-
Pilih CloudShell tab pertama Anda, lalu arahkan ke direktori sampel bundel pekerjaan.
cd ~/deadline-cloud-samples/job_bundles/
-
Buat salinan
simple_job
dengan nama barusimple_file_job
.cp -r simple_job simple_file_job
-
Edit template pekerjaan sebagai berikut:
catatan
Kami menyarankan Anda menggunakan nano untuk langkah-langkah ini. Jika Anda lebih suka menggunakan Vim, Anda harus mengatur mode tempel menggunakan
:set paste
.-
Buka template di editor teks.
nano simple_file_job/template.yaml
-
Tambahkan yang berikut ini
type
,objectType
, dandataFlow
parameterDefinitions
.- name: InFile type: PATH objectType: FILE dataFlow: IN - name: OutFile type: PATH objectType: FILE dataFlow: OUT
-
Tambahkan perintah
bash
script berikut ke akhir file yang membaca dari file input dan menulis ke file output.# hash the input file, and write that to the output
sha256sum "{{Param.InFile}}" > "{{Param.OutFile}}"
Yang diperbarui
template.yaml
harus sama persis dengan yang berikut:specificationVersion: 'jobtemplate-2023-09' name: Simple File Job Bundle Example parameterDefinitions: - name: Message type: STRING default: Welcome to AWS Deadline Cloud! - name: InFile type: PATH objectType: FILE dataFlow: IN - name: OutFile type: PATH objectType: FILE dataFlow: OUT steps: - name: WelcomeToDeadlineCloud script: actions: onRun: command: '{{Task.File.Run}}' embeddedFiles: - name: Run type: TEXT runnable: true data: | #!/usr/bin/env bash echo "{{Param.Message}}" # hash the input file, and write that to the output sha256sum "{{Param.InFile}}" > "{{Param.OutFile}}"
catatan
Jika Anda ingin menyesuaikan spasi di
template.yaml
, pastikan Anda menggunakan spasi alih-alih lekukan. -
Simpan file, dan keluar dari editor teks.
-
-
Berikan nilai parameter untuk file input dan output untuk mengirimkan simple_file_job.
deadline bundle submit simple_file_job \ -p "InFile=simple_job/template.yaml" \ -p "OutFile=hash.txt"
-
Cetak informasi tentang pekerjaan itu.
deadline job get
-
Anda akan melihat output seperti berikut:
parameters: Message: string: Welcome to AWS Deadline Cloud! InFile: path: /local/home/cloudshell-user/BundleFiles/JobBundle-Examples/simple_job/template.yaml OutFile: path: /local/home/cloudshell-user/BundleFiles/JobBundle-Examples/hash.txt
-
Meskipun Anda hanya menyediakan jalur relatif, parameter memiliki jalur lengkap yang disetel. AWS CLI Menggabungkan direktori kerja saat ini ke jalur apa pun yang disediakan sebagai parameter saat jalur memiliki tipe
PATH
. -
Agen pekerja yang berjalan di jendela terminal lain mengambil dan menjalankan pekerjaan. Tindakan ini membuat
hash.txt
file, yang dapat Anda lihat dengan perintah berikut.cat hash.txt
Perintah ini akan mencetak output yang mirip dengan berikut ini.
eaa2df5d34b54be5ac34c56a24a8c237b8487231a607eaf530a04d76b89c9cd3 /local/home/cloudshell-user/BundleFiles/JobBundle-Examples/simple_job/template.yaml
-
Langkah selanjutnya
Setelah mempelajari cara mengirimkan pekerjaan sederhana menggunakan Deadline Cloud CLI, Anda dapat menjelajahi:
-
Kirim pekerjaan dengan lampiran pekerjaan di Deadline Clouduntuk mempelajari cara menjalankan pekerjaan pada host yang menjalankan sistem operasi yang berbeda.
-
Menambahkan armada yang dikelola layanan ke farm pengembang Anda di Deadline Clouduntuk menjalankan pekerjaan Anda di host yang dikelola oleh Deadline Cloud.
-
Bersihkan sumber daya pertanian Anda di Deadline Clouduntuk mematikan sumber daya yang Anda gunakan untuk tutorial ini.