View a markdown version of this page

Berikan aplikasi untuk pekerjaan Anda - Awan Batas Waktu

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

Berikan aplikasi untuk pekerjaan Anda

Anda dapat menggunakan lingkungan antrian untuk memuat aplikasi untuk memproses pekerjaan Anda. Saat Anda membuat armada yang dikelola layanan menggunakan konsol Deadline Cloud, Anda memiliki opsi untuk membuat lingkungan antrian yang menggunakan pengelola paket conda untuk memuat aplikasi.

Jika Anda ingin menggunakan pengelola paket yang berbeda, Anda dapat membuat lingkungan antrian untuk manajer itu. Untuk contoh menggunakan Rez, lihatGunakan manajer paket yang berbeda.

Deadline Cloud menyediakan saluran conda untuk memuat pilihan aplikasi rendering ke lingkungan Anda. Mereka mendukung pengirim yang disediakan Deadline Cloud untuk aplikasi pembuatan konten digital.

Anda juga dapat memuat perangkat lunak untuk conda-forge untuk digunakan dalam pekerjaan Anda. Contoh berikut menunjukkan template pekerjaan menggunakan lingkungan antrian yang disediakan oleh Deadline Cloud untuk memuat aplikasi sebelum menjalankan pekerjaan.

Mendapatkan aplikasi dari saluran conda

Anda dapat membuat lingkungan antrian khusus untuk pekerja Deadline Cloud yang menginstal perangkat lunak pilihan Anda. Lingkungan antrian contoh ini memiliki perilaku yang sama dengan lingkungan yang digunakan oleh konsol untuk armada yang dikelola layanan. Ini menjalankan conda secara langsung untuk menciptakan lingkungan.

Lingkungan menciptakan lingkungan virtual conda baru untuk setiap sesi Deadline Cloud yang berjalan pada pekerja, dan kemudian menghapus lingkungan ketika selesai.

Conda menyimpan paket yang diunduh sehingga tidak perlu diunduh lagi, tetapi setiap sesi harus menautkan semua paket ke lingkungan.

Lingkungan mendefinisikan tiga skrip yang berjalan saat Deadline Cloud memulai sesi pada pekerja. Skrip pertama berjalan saat onEnter tindakan dipanggil. Ini memanggil dua lainnya untuk mengatur variabel lingkungan. Ketika skrip selesai berjalan, lingkungan conda tersedia dengan semua variabel lingkungan yang ditentukan ditetapkan.

Untuk versi terbaru contoh, lihat conda_queue_env_from_ console.yaml di repositori deadline-cloud-sample pada. https://github.com/aws-deadline/deadline-cloud-samples/tree/mainline GitHub

Jika Anda ingin menggunakan aplikasi yang tidak tersedia di saluran conda, Anda dapat membuat saluran conda di Amazon S3 dan kemudian membuat paket Anda sendiri untuk aplikasi tersebut. Lihat Buat saluran conda menggunakan S3 untuk mempelajari selengkapnya.

Dapatkan pustaka open source dari conda-forge

Bagian ini menjelaskan cara menggunakan pustaka sumber terbuka dari conda-forge saluran. Contoh berikut adalah template pekerjaan yang menggunakan paket polars Python.

Pekerjaan menetapkan CondaChannels parameter CondaPackages dan yang ditentukan dalam lingkungan antrian yang memberi tahu Deadline Cloud tempat mendapatkan paket.

Bagian template pekerjaan yang menetapkan parameter adalah:

- name: CondaPackages description: A list of conda packages to install. The job expects a Queue Environment to handle this. type: STRING default: polars - name: CondaChannels description: A list of conda channels to get packages from. The job expects a Queue Environment to handle this. type: STRING default: conda-forge

Untuk versi terbaru dari template pekerjaan contoh lengkap, lihat stage_1_self_contained_template/template .yaml. Untuk versi terbaru dari lingkungan antrian yang memuat paket conda, lihat conda_queue_env_from_ console.yaml di repositori deadline-cloud-sample pada. https://github.com/aws-deadline/deadline-cloud-samples/tree/mainline GitHub

Dapatkan Blender dari saluran deadline-cloud

Contoh berikut menunjukkan template pekerjaan yang didapat Blender dari saluran deadline-cloud conda. Saluran ini mendukung pengirim yang disediakan Deadline Cloud untuk perangkat lunak pembuatan konten digital, meskipun Anda dapat menggunakan saluran yang sama untuk memuat perangkat lunak untuk Anda gunakan sendiri.

Untuk daftar perangkat lunak yang disediakan oleh deadline-cloud saluran, lihat Lingkungan antrian default di Panduan Pengguna AWS Deadline Cloud.

Pekerjaan ini menetapkan CondaPackages parameter yang ditentukan dalam lingkungan antrian untuk memberi tahu Deadline Cloud untuk memuat Blender ke lingkungan.

Bagian template pekerjaan yang menetapkan parameter adalah:

- name: CondaPackages type: STRING userInterface: control: LINE_EDIT label: Conda Packages groupLabel: Software Environment default: blender description: > Tells the queue environment to install Blender from the deadline-cloud conda channel.

Untuk versi terbaru dari template pekerjaan contoh lengkap, lihat blender_render/template .yaml. Untuk versi terbaru dari lingkungan antrian yang memuat paket conda, lihat conda_queue_env_from_ console.yaml di repositori deadline-cloud-sample pada. https://github.com/aws-deadline/deadline-cloud-samples/tree/mainline GitHub

Gunakan manajer paket yang berbeda

Manajer paket default untuk Deadline Cloud adalah conda. Jika Anda perlu menggunakan pengelola paket yang berbeda, sepertiRez, Anda dapat membuat lingkungan antrian kustom yang berisi skrip yang menggunakan pengelola paket Anda sebagai gantinya.

Lingkungan antrian contoh ini menyediakan perilaku yang sama dengan lingkungan yang digunakan oleh konsol untuk armada yang dikelola layanan. Ini menggantikan manajer paket conda denganRez.

Lingkungan mendefinisikan tiga skrip yang berjalan saat Deadline Cloud memulai sesi pada pekerja. Skrip pertama berjalan saat onEnter tindakan dipanggil. Ini memanggil dua lainnya untuk mengatur variabel lingkungan. Ketika skrip selesai berjalan, Rez lingkungan tersedia dengan semua variabel lingkungan yang ditentukan ditetapkan.

Contoh mengasumsikan bahwa Anda memiliki armada yang dikelola pelanggan yang menggunakan sistem file bersama untuk paket Rez.

Untuk versi terbaru contoh, lihat rez_queue_env.yam l di repositori deadline-cloud-sample pada. https://github.com/aws-deadline/deadline-cloud-samples/tree/mainline GitHub

Gunakan pip untuk Python-only paket

Jika aplikasi atau pustaka yang dibutuhkan pekerjaan Anda adalah paket Python murni yang tersedia di PyPI, Anda dapat menggunakan pip dan venv modul pustaka standar Python alih-alih conda atau. Rez Pendekatan ini bekerja dengan baik ketika paket tidak dipublikasikan ke saluran conda, atau ketika Anda menginginkan lingkungan virtual yang lebih kecil daripada yang dibuat conda. Tidak seperti conda danRez, pip dan venv disertakan dengan Python itu sendiri, jadi host pekerja hanya membutuhkan python3 penerjemah diPATH. Armada yang dikelola layanan Deadline Cloud menyediakannya.

Membuat Lingkungan antrian pip untuk Deadline Cloud lingkungan virtual Python di direktori kerja sesi ketika pekerjaan menetapkan PipPackages parameter, menginstal paket yang diminta ke dalamnya dengan pip, dan mengaktifkannya sehingga langkah-langkah pekerjaan berjalan dengan paket-paket yang tersedia. Karena lingkungan dibuat di direktori kerja sesi, Deadline Cloud membersihkannya secara otomatis ketika sesi berakhir, dan Anda tidak perlu menulis logika pembersihan Anda sendiri. Jika pekerjaan tidak disetelPipPackages, lingkungan antrian tidak melakukan apa-apa, sehingga Anda dapat menambahkannya ke antrian yang juga menjalankan pekerjaan yang tidak menggunakannya.

Untuk menginstal paket dari indeks pribadi seperti CodeArtifact repositori AWS alih-alih indeks PyPI publik, atur PipExtraIndexUrls parameter PipIndexUrl dan yang disediakan lingkungan antrian.

Jika Anda lebih suka tidak mengonfigurasi lingkungan antrian, Anda dapat menentukan lingkungan pip yang sama sebaris dalam bundel pekerjaan sebagai gantinya. Untuk contoh setiap pendekatan, lihat bundel pekerjaan pip_package_job dan pip_self_contained_job di reposit ori dead line-cloud-sample pada. https://github.com/aws-deadline/deadline-cloud-samples/tree/mainline GitHub

Untuk antrian produksi, sematkan versi paket dalam nilai PipPackages parameter alih-alih menginstal rilis terbaru setiap kali. Penjepitan versi memberi Anda lingkungan yang dapat direproduksi dan menghindari kerusakan tak terduga saat paket menerbitkan versi baru. Jika pekerjaan bergantung pada versi pengirim dan adaptor yang cocok, sematkan keduanya ke rilis yang sama.

Jika pekerja armada yang dikelola pelanggan menjalankan pekerjaan untuk lebih dari satu aplikasi pembuatan konten digital (DCC), dan Anda menginstal adaptor Deadline Cloud dengan pip, instal setiap adaptor ke lingkungan virtualnya sendiri. Menginstal beberapa adaptor bersama-sama di lingkungan virtual yang sama dapat menyebabkan pip menyelesaikan ketergantungan bersama ke versi yang bertentangan dengan salah satu adaptor.

Host pekerja memerlukan akses jaringan ke sumber paket, seperti PyPI atau cermin pribadi, untuk menginstal paket saat sesi dimulai. Jika pekerja armada yang dikelola pelanggan Anda berjalan di subnet pribadi tanpa akses internet, gunakan titik akhir VPC ke sumber paket Anda, cermin pip pribadi, atau instal paket ke AMI pekerja Anda sebagai gantinya.

Tabel berikut merangkum pertukaran dari setiap manajer paket untuk membantu Anda memilih mana yang akan digunakan.

Manajer paket Terbaik untuk Trade-offs
Conda (default) Aplikasi DCC, dependensi asli yang kompleks, paket lintas platform Lingkungan yang lebih besar; paket harus dipublikasikan ke saluran conda
Rez Saluran pipa studio dengan Rez infrastruktur yang ada M Rez emerlukan diinstal pada host pekerja dan sistem file bersama untuk repositori paket
Pip Python-only paket, PyPI-hosted perpustakaan, instalasi ringan Terbatas untuk paket Python; tidak ada resolusi ketergantungan asli

Setelah Anda memilih lingkungan antrian, lampirkan ke antrian Anda. Anda dapat menambahkan template YAML dari tab lingkungan antrian untuk antrian Anda di konsol Deadline Cloud, atau menggunakan deadline: CreateQueueEnvironment operation. Untuk instruksi konsol, lihat Membuat lingkungan antrian di Panduan Pengguna AWS Deadline Cloud. Untuk melampirkan lingkungan antrian dengan AWS CLI:

aws deadline create-queue-environment \ --farm-id FARM_ID \ --queue-id QUEUE_ID \ --priority 1 \ --template-type YAML \ --template file://queue-environment.yaml