Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Elementi del modello di lavoro per i pacchetti di lavoro
Il modello di lavoro definisce l'ambiente di runtime e i processi eseguiti come parte di un job Deadline Cloud. È possibile creare parametri in un modello in modo che possa essere utilizzato per creare lavori che differiscono solo nei valori di input, proprio come una funzione in un linguaggio di programmazione.
Quando invii un lavoro a Deadline Cloud, viene eseguito in qualsiasi ambiente di coda applicato alla coda. Gli ambienti di coda sono creati utilizzando la specifica degli ambienti esterni Open Job Description (OpenJD). Per i dettagli, consulta il modello Environment
Per un'introduzione alla creazione di un lavoro con un modello di lavoro OpenJD, vedere Introduzione alla creazione di un lavoro samples
È possibile definire il modello di lavoro in formato YAML (template.yaml) o JSON (). template.json Gli esempi in questa sezione sono mostrati in formato YAML.
Ad esempio, il modello di lavoro per l'blender_renderesempio definisce un parametro di input BlenderSceneFile come percorso di file:
- name: BlenderSceneFile type: PATH objectType: FILE dataFlow: IN userInterface: control: CHOOSE_INPUT_FILE label: Blender Scene File groupLabel: Render Parameters fileFilters: - label: Blender Scene Files patterns: ["*.blend"] - label: All Files patterns: ["*"] description: > Choose the Blender scene file to render. Use the 'Job Attachments' tab to add textures and other files that the job needs.
La userInterface proprietà definisce il comportamento delle interfacce utente generate automaticamente sia per la riga di comando che utilizza il deadline bundle gui-submit comando sia all'interno dei plugin per l'invio dei lavori per applicazioni come Autodesk Maya.
Il gui-submit comando apre una finestra di dialogo di invio con una scheda Impostazioni condivise per il nome, la priorità e la coda di destinazione del lavoro e una scheda delle Job-specific impostazioni generata dalle definizioni dei parametri nel modello di lavoro.
In questo esempio, il widget dell'interfaccia utente per l'immissione di un valore per il BlenderSceneFile parametro è una finestra di dialogo di selezione dei file che mostra solo i file. .blend
Per altri esempi di utilizzo dell'userIntefaceelemento, vedi l'esempio gui_control_showcase nel repository deadline-cloud-samples su
Le dataFlow proprietà objectType and controllano il comportamento degli allegati al lavoro quando invii un lavoro da un pacchetto di offerte. In questo caso, objectType:
FILE e dataFlow:IN indicano che il valore di BlenderSceneFile è un file di input per gli allegati di lavoro.
Al contrario, la definizione del OutputDir parametro ha objectType:
DIRECTORY edataFlow: OUT:
- name: OutputDir type: PATH objectType: DIRECTORY dataFlow: OUT userInterface: control: CHOOSE_DIRECTORY label: Output Directory groupLabel: Render Parameters default: "./output" description: Choose the render output directory.
Il valore del OutputDir parametro viene utilizzato dai job attachments come directory in cui il job scrive i file di output.
Quando inviate il pacchetto, la scheda Job attachments della finestra di dialogo di invio elenca i file e le directory di input rilevati da queste proprietà, insieme alle directory di output in cui il job scrive. I percorsi mostrati in corsivo sono stati rilevati automaticamente; puoi aggiungerne altri che il mittente non ha trovato.
Per ulteriori informazioni sulle dataFlow proprietà objectType e, consultate la specifica Open JobPathParameterDefinition
Il resto dell'esempio del modello di blender_render lavoro definisce il flusso di lavoro come un singolo passaggio in cui ogni fotogramma dell'animazione viene renderizzato come attività separata:
steps: - name: RenderBlender parameterSpace: taskParameterDefinitions: - name: Frame type: INT range: "{{Param.Frames}}" script: actions: onRun: command: bash # Note: {{Task.File.Run}} is a variable that expands to the filename on the worker host's # disk where the contents of the 'Run' embedded file, below, is written. args: ['{{Task.File.Run}}'] embeddedFiles: - name: Run type: TEXT data: | # Configure the task to fail if any individual command fails. set -xeuo pipefail mkdir -p '{{Param.OutputDir}}' blender --background '{{Param.BlenderSceneFile}}' \ --render-output '{{Param.OutputDir}}/{{Param.OutputPattern}}' \ --render-format {{Param.Format}} \ --use-extension 1 \ --render-frame {{Task.Param.Frame}}
Ad esempio, se il valore del Frames parametro è1-10, definisce 10 attività. Ciascuna ha un'attività con un valore diverso per il Frame parametro. Per eseguire un'operazione:
-
Ad esempio, tutti i riferimenti alle variabili nella
dataproprietà del file incorporato vengono espansi--render-frame 1. -
Il contenuto della
dataproprietà viene scritto in un file nella directory di lavoro della sessione su disco. -
Il
onRuncomando dell'operazione viene risoltobashe quindi eseguito.location of embedded file
Per ulteriori informazioni sui file incorporati, sulle sessioni e sulle posizioni mappate sul percorso, vedi How jobs are run
Ci sono altri esempi di modelli di lavoro nel deadline-cloud- samples/job_bundles