Préparation des artefacts de travail
Découvrez comment créer un artefact de travail à utiliser dans vos travaux et vos traitements de travail.
L'artefact de travail peut avoir une taille maximale de 4 Go. Voici les types d'artefact de travail que vous pouvez utiliser :
Fichiers Python
L'artefact peut être un unique fichier Python simple qui contient du code permettant d'exécuter un travail, comme l'exemple de fichier Python suivant :
# simple job
import time
print("Hello job world!")
time.sleep(3)
print("Job Done.")
Ce travail imprime deux messages avec un temps de veille de trois secondes entre eux. Vous pouvez enregistrer le code dans le fichier hello_world_job.py
, puis l'exécuter en tant que travail. Les traitements de travail disposent déjà de Python (préinstallé) et peuvent exécuter le code avec toutes les bibliothèques système Python.
Cet exemple n'utilise pas de bibliothèques Python tierces. Vous contrôlez les bibliothèques et environnements Python installés en utilisant votre travail dans un environnement conda.
Scripts bash ou shell
Vous pouvez utiliser un fichier de script simple comme dans cet exemple, ou un fichier plus complexe :
#!/bin/bash
var=$1
if [ -z "$var" ]
then
echo "no argument provided"
exit 100
else
while [ "$1" != "" ]; do
echo "Received: ${1}" && shift;
done
fi
Ces types de traitement de travail sont appliqués à l'aide d'Oracle Linux.
Fichiers ZIP ou TAR compressés
Vos projets sont souvent plus complexes et nécessitent plus de code que ce qui est possible dans un seul fichier. Si vous disposez de scripts shell et d'un projet Python complexes, vous pouvez archiver l'ensemble du corps du contenu et l'exécuter en tant que travail. A l'aide d'un fichier FAT JAR, vous pouvez exécuter du code Java en tant que travail.
Il n'existe aucune exigence particulière concernant l'écriture de votre code Python ou de votre script shell pour son exécution en tant que travail. Vous pouvez pointer vers votre fichier principal à l'aide du paramètre JOB_RUN_ENTRYPOINT
après avoir chargé vers le serveur l'artefact ZIP ou TAR compressé.
Les artefacts zip et tar compressés peuvent également comporter un fichier YAML d'exécution qui définit les variables d'environnement de traitement de travail requises.
Considérations relatives aux fichiers d'archive :
-
L'intégralité du code doit être archivée sous un répertoire racine.
-
Le nom de fichier doit correspondre au nom de répertoire racine que vous avez défini avec
JOB_RUN_ENTRYPOINT
.JOB_RUN_ENTRYPOINT
apparaît sur la page Détails des exécutions de travail lorsqu'il est en cours d'utilisation. -
Ne modifiez pas le nom du fichier d'archive après avoir compressé le répertoire.
Pour commencer avec l'exemple, téléchargez, décompressez et examinez le fichier zipped_python_job.zip
.
Le fichier ZIP contient un travail de journalisation simple qui est archivé dans un fichier ZIP sous le répertoire zipped_python_job/
. Vous pouvez exécuter le travail en indiquant l'emplacement du fichier python principal en définissant la variable d'environnement JOB_RUN_ENTRYPOINT
, dans la console OCI ou à l'aide du kit SDK OCI :
"environmentVariables": {
"JOB_RUN_ENTRYPOINT": "zipped_python_job/entry.py"
}
Pour créer un fichier d'artefact de travail, procédez comme suit :
- Créez un répertoire racine pour votre projet.
- Créez votre code de travail sous le répertoire racine. Le code de travail dans son intégralité doit se trouver sous le répertoire racine.
- Compressez le répertoire racine dans un fichier ZIP ou TAR.
Vous pouvez désormais télécharger le fichier d'archive en tant qu'artefact de travail lorsque vous créez un travail. Lors de la création du travail, ajoutez JOB_RUN_ENTRYPOINT
en tant que variable d'environnement personnalisée dans la configuration du travail.