

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# Reichen Sie einen Job ein, der Limits erfordert
<a name="job-limit-job"></a>

Sie wenden ein Limit an, indem Sie es als Hostanforderung für den Job oder Job-Schritt angeben. Wenn Sie in einem Schritt kein Limit angeben und dieser Schritt eine zugeordnete Ressource verwendet, wird die Nutzung des Schritts nicht auf das Limit angerechnet, wenn Jobs geplant werden.

Bei einigen Deadline Cloud-Einreichern können Sie eine Hostanforderung festlegen. Sie können den Namen des Limits im Absender angeben, um das Limit anzuwenden.

Wenn Ihr Einreicher das Hinzufügen von Hostanforderungen nicht unterstützt, können Sie auch ein Limit festlegen, indem Sie die Jobvorlage für den Job bearbeiten.

**Um ein Limit auf einen Job-Schritt im Job-Bundle anzuwenden**

1. Öffnen Sie die Jobvorlage für den Job mit einem Texteditor. Die Jobvorlage befindet sich im Job-Bundle-Verzeichnis für den Job. Weitere Informationen finden Sie unter [Job-Pakete](https://docs.aws.amazon.com/deadline-cloud/latest/developerguide/build-job-bundle.html) im *Deadline Cloud Developer Guide*.

1. Suchen Sie die Schrittdefinition für den Schritt, auf den das Limit angewendet werden soll.

1. Fügen Sie der Schrittdefinition Folgendes hinzu. {{amount.name}}Ersetzen Sie es durch den Namen der Mengenanforderung für Ihr Limit. Für den typischen Gebrauch sollten Sie den `min` Wert auf 1 setzen.

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

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

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

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

------

   Sie können einem Auftragsschritt wie folgt mehrere Grenzwerte hinzufügen. Ersetzen Sie {{amount.name\_1}} und {{amount.name\_2}} durch die Namen der Mengenanforderungen Ihrer Limits.

------
#### [ 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. Speichern Sie die Änderungen an der Jobvorlage.

## Automatisieren Sie Limits mit Submission Hooks
<a name="job-limit-hooks"></a>

Wenn du Limits für alle Jobeinreichungen durchsetzen möchtest, ohne dass Künstler Jobvorlagen manuell bearbeiten müssen, kannst du einen [Pre-Submission-Hook](https://github.com/aws-deadline/deadline-cloud/blob/mainline/docs/submission-hooks.md) verwenden, um die Host-Anforderung bei der Einreichung automatisch in jede Jobvorlage einzufügen.

Ein Pre-Submission-Hook ist ein Skript, das ausgeführt wird, bevor der Job eingereicht wird. Der Hook kann die Job-Bundles ändern`template.yaml`, um den `hostRequirements` Betragseintrag für Ihr Limit hinzuzufügen. Dieser Ansatz stellt sicher, dass jeder Job, der über die Deadline Cloud CLI oder die DCC-Einreicher eingereicht wird, angibt, dass er die begrenzte Ressource benötigt.

Ein vollständiges, funktionierendes Beispiel finden Sie im [Hook-Beispiel für die Einreichung von Lizenzbeschränkungen im Deadline Cloud-Beispiel-Repository](https://github.com/aws-deadline/deadline-cloud-samples/tree/mainline/submission_hooks/license_limits).

## End-to-end Beispiel: V-Ray Lizenzlimits durchsetzen
<a name="job-limit-example"></a>

Dieses Beispiel zeigt, wie Sie ein Limit für 5 V-Ray Floating-Lizenzen einrichten und überprüfen, ob der Scheduler dieses Limit durchsetzt.

**Um ein Lizenzlimit einzurichten und zu V-Ray testen**

1. Erstellen Sie das Limit für Ihre Farm:

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

1. Ordnen Sie das Limit Ihrer Warteschlange zu:

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

1. Fügen Sie die Host-Anforderung zu Ihrer Jobvorlage hinzu:

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

1. Reichen Sie den Job ein. Der Scheduler ermöglicht die gleichzeitige Ausführung von maximal 5 Aufgaben für alle Jobs in der Warteschlange. `amount.vray` Zusätzliche Aufgaben bleiben im `READY` Status, bis ein Slot verfügbar wird.

Um zu überprüfen, ob das Limit funktioniert, setzen Sie `maxCount` es vorübergehend auf 1 und reichen Sie zwei Jobs ein. Der erste Job wird ausgeführt, während der zweite solange im `READY` Status bleibt, bis der erste abgeschlossen ist.