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.
- Creare una directory radice per il progetto.
- Creare il codice job nella directory radice. Il codice mansione nella sua interezza deve trovarsi nella directory radice.
- 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.