Preparazione degli artifact del job

Informazioni su come creare un artifact del job da utilizzare nei job e nelle esecuzioni dei job.

L'artifact job può essere al massimo di 4 GB. Di seguito sono riportati i tipi di artifact del job che è possibile utilizzare.

File Python

L'artifact può essere un semplice file Python singolo che contiene il codice per eseguire un job come questo esempio di file Python:

# simple job
import time
 
print("Hello job world!")
time.sleep(3)
print("Job Done.")

Questo job stampa due messaggi con un intervallo di tempo di inattività di tre secondi. È possibile salvare il codice in un singolo file hello_world_job.py, quindi eseguirlo come job. Le esecuzioni dei job forniscono già Python preinstallato e possono eseguire il codice con tutte le librerie di sistema Python.

In questo esempio non vengono utilizzate librerie Python di terze parti. È possibile controllare le librerie e gli ambienti Python installati utilizzando il job in un ambiente conda.

Script Bash o Shell

È possibile utilizzare un singolo file script come in questo esempio o in un file più complesso:

#!/bin/bash
var=$1
if [ -z "$var" ]
then
      echo "no argument provided"
      exit 100
else
      while [ "$1" != "" ]; do
        echo "Received: ${1}" && shift;
      done
fi

Questi tipi di esecuzioni di job vengono eseguite utilizzando Oracle Linux.

zip o file Tar compressi

Spesso i tuoi progetti sono più complessi e richiedono più codice di quanto sia possibile in un singolo file. Se si dispone di script di progetto e shell Python complessi, è possibile archiviare l'intero corpo del contenuto ed eseguirlo come job. Utilizzando un file JAR grasso, è possibile eseguire il codice Java come job.

Non ci sono requisiti speciali su come scrivere il codice Python o lo script shell per eseguirlo come job. È possibile puntare al file principale utilizzando il parametro JOB_RUN_ENTRYPOINT dopo aver caricato il file zip o l'artifact tar compresso.

Gli artifact ZIP e tar compressi possono inoltre disporre di un file YAML di runtime che imposta le variabili di ambiente di esecuzione del job richieste.

Considerazioni sul file dell'archivio:

  • Tutto il codice deve essere archiviato in una directory root.

  • Il nome del file deve corrispondere al nome della directory root impostato con JOB_RUN_ENTRYPOINT.

    Il file JOB_RUN_ENTRYPOINT viene visualizzato nella pagina Dettagli esecuzioni job quando è in uso.

  • Non cambiare il nome del file dell'archivio dopo aver compresso la directory.

Per iniziare a utilizzare l'esempio, scaricare, decomprimere ed esaminare il file zipped_python_job.zip.

Il file zip contiene un job di log semplice archiviato in un file zip nella directory zipped_python_job/. È possibile eseguire il job specificando la posizione del file python principale impostando la variabile di ambiente JOB_RUN_ENTRYPOINT nella console OCI o utilizzando l'SDK OCI:

"environmentVariables": {
    "JOB_RUN_ENTRYPOINT": "zipped_python_job/entry.py"
}

Utilizzare i passi riportati di seguito per creare un file artifact del job.

  1. Creare una directory radice per il progetto.
  2. Creare il codice job nella directory radice. Il codice mansione nella sua interezza deve trovarsi nella directory radice.
  3. Comprimere la directory root in un file zip o tar.

Ora è possibile caricare il file di archivio come artifact del job quando si crea un job. Quando si crea il job, aggiungere JOB_RUN_ENTRYPOINT come variabile di ambiente personalizzata nella configurazione del job.