

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

# Menyediakan aplikasi untuk pekerjaan Anda
<a name="provide-applications"></a>

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

Jika Anda ingin menggunakan manajer paket yang berbeda, Anda dapat membuat lingkungan antrian untuk manajer itu. Untuk contoh menggunakan Rez, lihat[Gunakan manajer paket yang berbeda](#provide-applications-other-package).

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 templat pekerjaan menggunakan lingkungan antrian yang disediakan oleh Deadline Cloud untuk memuat aplikasi sebelum menjalankan pekerjaan.

**Topics**
+ [Mendapatkan aplikasi dari saluran conda](#provide-applications-get-application)
+ [Gunakan manajer paket yang berbeda](#provide-applications-other-package)
+ [Gunakan pip untuk paket Python-only](#provide-applications-pip)

## Mendapatkan aplikasi dari saluran conda
<a name="provide-applications-get-application"></a>

Anda dapat membuat lingkungan antrian khusus untuk pekerja Deadline Cloud Anda yang menginstal perangkat lunak pilihan Anda. Contoh lingkungan antrian ini memiliki perilaku yang sama dengan lingkungan yang digunakan oleh konsol untuk armada yang dikelola layanan. Ini menjalankan conda 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 ketika `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 dari contoh, lihat [conda\_queue\_env\_console\_equivalent.yaml](https://github.com/aws-deadline/deadline-cloud-samples/blob/mainline/queue_environments/conda_queue_env_console_equivalent.yaml) di repositori deadline-cloud-samples 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 itu. Lihat [Buat saluran conda menggunakan S3](configure-jobs-s3-channel.md) untuk mempelajari selengkapnya.

### Dapatkan pustaka open source dari conda-forge
<a name="get-application-csv-example"></a>

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 dari 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 contoh template pekerjaan lengkap, lihat [stage\_1\_self\_contained\_template/template.yaml.](https://github.com/aws-deadline/deadline-cloud-samples/blob/mainline/job_bundles/job_dev_progression/stage_1_self_contained_template/template.yaml) [Untuk versi terbaru dari lingkungan antrian yang memuat paket conda, lihat [conda\_queue\_env\_console\_equivalent.yaml](https://github.com/aws-deadline/deadline-cloud-samples/blob/mainline/queue_environments/conda_queue_env_console_equivalent.yaml) di repositori deadline-cloud-samples pada.](https://github.com/aws-deadline/deadline-cloud-samples/tree/mainline) GitHub 

### Dapatkan Blender dari saluran deadline-cloud
<a name="get-application-blender"></a>

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` channel, lihat [Lingkungan antrian default](https://docs.aws.amazon.com/deadline-cloud/latest/userguide/create-queue-environment.html#conda-queue-environment) di *Panduan Pengguna Cloud AWS Batas Waktu*.

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

Bagian dari 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 contoh template pekerjaan lengkap, lihat [blender\_render/template.yaml.](https://github.com/aws-deadline/deadline-cloud-samples/blob/mainline/job_bundles/blender_render/template.yaml) [Untuk versi terbaru dari lingkungan antrian yang memuat paket conda, lihat [conda\_queue\_env\_console\_equivalent.yaml](https://github.com/aws-deadline/deadline-cloud-samples/blob/mainline/queue_environments/conda_queue_env_console_equivalent.yaml) di repositori deadline-cloud-samples pada.](https://github.com/aws-deadline/deadline-cloud-samples/tree/mainline) GitHub 

## Gunakan manajer paket yang berbeda
<a name="provide-applications-other-package"></a>

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

Contoh lingkungan antrian ini memberikan perilaku yang sama dengan lingkungan yang digunakan oleh konsol untuk armada yang dikelola layanan. Ini menggantikan manajer paket conda dengan. Rez 

Lingkungan mendefinisikan tiga skrip yang berjalan saat Deadline Cloud memulai sesi pada pekerja. Skrip pertama berjalan ketika `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 ini mengasumsikan bahwa Anda memiliki armada yang dikelola pelanggan yang menggunakan sistem file bersama untuk paket Rez.

[Untuk versi terbaru dari contoh, lihat [rez\_queue\_env.yaml di repositori deadline-cloud-samples](https://github.com/aws-deadline/deadline-cloud-samples/blob/mainline/queue_environments/rez_queue_env.yaml) pada.](https://github.com/aws-deadline/deadline-cloud-samples/tree/mainline) GitHub

## Gunakan pip untuk paket Python-only
<a name="provide-applications-pip"></a>

Jika aplikasi atau pustaka yang dibutuhkan pekerjaan Anda adalah paket Python murni yang tersedia di PyPI, Anda dapat menggunakan pip dan modul pustaka standar Python alih-alih conda atau. `venv` Rez Pendekatan ini bekerja dengan baik ketika sebuah 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 penerjemah di file. `python3` `PATH` Tenggat waktu Armada yang dikelola layanan Cloud menyediakan satu.

Itu [Lingkungan antrian pip untuk Deadline Cloud](examples-queue-env-pip.md) membuat 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 disetel`PipPackages`, 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](https://docs.aws.amazon.com/codeartifact/latest/ug/welcome.html), bukan indeks PyPI publik, setel `PipIndexUrl` dan `PipExtraIndexUrls` parameter yang disediakan oleh 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](https://github.com/aws-deadline/deadline-cloud-samples/tree/mainline/job_bundles/pip_package_job) di repositori [deadline-cloud-samples](https://github.com/aws-deadline/deadline-cloud-samples/tree/mainline/job_bundles/pip_self_contained_job) pada.](https://github.com/aws-deadline/deadline-cloud-samples/tree/mainline) GitHub

Untuk antrian produksi, pin versi paket dalam nilai `PipPackages` parameter alih-alih menginstal rilis terbaru setiap kali. Penyematan versi memberi Anda lingkungan yang dapat direproduksi dan menghindari kerusakan yang tidak terduga saat paket menerbitkan versi baru. Jika pekerjaan bergantung pada pencocokan versi pengirim dan adaptor, pin 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 mirror 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 trade-off dari setiap manajer paket untuk membantu Anda memilih mana yang akan digunakan.


| Manajer Package | 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 | Pipa studio dengan infrastruktur yang ada Rez | Memerlukan Rez 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 YAMAL dari tab **Lingkungan antrian** untuk antrean di konsol Deadline Cloud, atau menggunakan operasi deadline:. CreateQueueEnvironment](https://docs.aws.amazon.com/deadline-cloud/latest/APIReference/API_CreateQueueEnvironment.html) Untuk petunjuk konsol, lihat [Membuat lingkungan antrian](https://docs.aws.amazon.com/deadline-cloud/latest/userguide/create-queue-environment.html) di *Panduan Pengguna Cloud AWS Batas Waktu*. 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}}
```