

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

# Kirim pekerjaan yang membutuhkan batasan
<a name="job-limit-job"></a>

Anda menerapkan batas dengan menentukannya sebagai persyaratan host untuk pekerjaan atau langkah pekerjaan. Jika Anda tidak menentukan batas dalam langkah dan langkah tersebut menggunakan sumber daya terkait, penggunaan langkah tidak dihitung terhadap batas saat pekerjaan dijadwalkan.

Beberapa pengirim Deadline Cloud memungkinkan Anda menetapkan persyaratan host. Anda dapat menentukan nama persyaratan jumlah batas di pengirim untuk menerapkan batas.

Jika pengirim Anda tidak mendukung penambahan persyaratan host, Anda juga dapat menerapkan batas dengan mengedit template pekerjaan untuk pekerjaan tersebut.

**Untuk menerapkan batas ke langkah pekerjaan di bundel pekerjaan**

1. Buka template pekerjaan untuk pekerjaan menggunakan editor teks. Template pekerjaan terletak di direktori bundel pekerjaan untuk pekerjaan. Untuk informasi selengkapnya, lihat [ Bundel pekerjaan ](https://docs.aws.amazon.com/deadline-cloud/latest/developerguide/build-job-bundle.html) di Panduan Pengembang Dead * line Cloud*.

1. Temukan definisi langkah untuk langkah untuk menerapkan batas.

1. Tambahkan yang berikut ini ke definisi langkah. Ganti {{amount.name}} dengan nama persyaratan jumlah batas Anda. Untuk penggunaan biasa, Anda harus mengatur nil `min` ainya menjadi 1.

------
#### [ YAML ]

   ```
     hostRequirements:
       amounts:
       - name: amount.{{name}}
         min: 1
   ```

------
#### [ JSON ]

   ```
   "hostRequirements": {
       "amounts": [
           {
               "name": "{{amount.name}}",
               "min": "1"
           }
       ]
   }
   ```

------

   Anda dapat menambahkan beberapa batasan ke langkah pekerjaan sebagai berikut. Ganti {{amount.name\_1}} dan {{amount.name\_2}} dengan nama persyaratan jumlah batas Anda.

------
#### [ YAML ]

   ```
     hostRequirements:
       amounts:
       - name: {{amount.name_1}}
         min: 1
       - name: {{amount.name_2}}
         min: 1
   ```

------
#### [ JSON ]

   ```
   "hostRequirements": {
       "amounts": [
           {
               "name": "amount.{{name_1}}",
               "min": "1"
           },
           {
               "name": "amount.{{name_2}}",
               "min": "1"
           }
       ]
   }
   ```

------

1. Simpan perubahan pada template pekerjaan.

## Otomatisasi batas dengan kait pengiriman
<a name="job-limit-hooks"></a>

Jika Anda ingin menerapkan batasan di semua pengiriman pekerjaan tanpa mengharuskan artis mengedit templat pekerjaan secara manual, Anda dapat menggunakan kait [ pra-pengiriman ](https://github.com/aws-deadline/deadline-cloud/blob/mainline/docs/submission-hooks.md) untuk secara otomatis menyuntikkan persyaratan host ke setiap templat pekerjaan pada waktu pengiriman.

Pengait pra-pengiriman adalah skrip yang berjalan sebelum pekerjaan dikirimkan. Pengait dapat memodifikasi bundel pekerjaan `template.yaml` untuk menambahkan entri `hostRequirements` jumlah untuk batas Anda. Pendekatan ini memastikan bahwa setiap pekerjaan yang diajukan melalui Deadline Cloud CLI atau pengirim DCC menyatakan kebutuhannya akan sumber daya yang terbatas.

Untuk contoh kerja lengkap, lihat contoh kait [ pengiriman batas lisensi ](https://github.com/aws-deadline/deadline-cloud-samples/tree/mainline/submission_hooks/license_limits) di repositori sampel Deadline Cloud.

## End-to-end contoh: Menegakkan batas V-Ray lisensi
<a name="job-limit-example"></a>

Contoh ini menunjukkan cara mengatur batas untuk 5 lisensi V-Ray mengambang dan memverifikasi bahwa penjadwal memberlakukannya.

**Untuk mengatur dan menguji batas V-Ray lisensi**

1. Buat batas di peternakan Anda:

   ```
   aws deadline create-limit \
       --farm-id {{farm-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX}} \
       --display-name "VRay License" \
       --amount-requirement-name "amount.vray" \
       --max-count 5
   ```

1. Kaitkan batas dengan antrian Anda:

   ```
   aws deadline create-queue-limit-association \
       --farm-id {{farm-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX}} \
       --queue-id {{queue-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX}} \
       --limit-id {{limit-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX}}
   ```

1. Tambahkan persyaratan host ke template pekerjaan Anda:

   ```
   specificationVersion: jobtemplate-2023-09
   name: My VRay Render
   parameterDefinitions:
     - name: SceneFile
       type: PATH
       objectType: FILE
       dataFlow: IN
   steps:
     - name: Render
       hostRequirements:
         amounts:
           - name: amount.vray
             min: 1
       script:
         actions:
           onRun:
             command: vray
             args: ["-scene", "{{Param.SceneFile}}"]
   ```

1. Kirim pekerjaan. Penjadwal memungkinkan paling banyak 5 tugas `amount.vray` untuk berjalan secara bersamaan di semua pekerjaan dalam antrian. Tugas tambahan tetap di `READY` negara bagian sampai slot tersedia.

Untuk memverifikasi batas berfungsi, atur sementara `maxCount` ke 1 dan kirimkan dua pekerjaan. Pekerjaan pertama berjalan sementara yang kedua tetap dalam `READY` status sampai yang pertama selesai.