Préparation des artefacts de travail
Voyez comment créer un artefact de travail à utiliser dans vos travaux et exécutions de travail.
L'artefact des tâches peut être au maximum de 4 Go. Voici les types d'artefact de travail que vous pouvez utiliser :
Fichiers Python
L'artefact peut être un fichier Python simple contenant du code pour exécuter un travail comme dans l'exemple suivant :
# simple job
import time
print("Hello job world!")
time.sleep(3)
print("Job Done.")
Ce travail imprime deux messages avec un temps d'attente de trois secondes entre les deux. Vous pouvez enregistrer le code dans un seul fichier hello_world_job.py
, puis l'exécuter en tant que travail. Les exécutions de travail fournissent déjà Python préinstallé et peuvent exécuter le code avec toutes les bibliothèques du système Python.
Cet exemple n'utilise pas de bibliothèques Python tierces. Vous contrôlez les bibliothèques et les environnements Python installés en utilisant votre travail dans un environnement Conda.
Scripts Bash ou d'interpréteur de commandes
Vous pouvez utiliser un seul fichier de script comme dans l'exemple suivant 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 d'exécution de travail sont lancés à l'aide d'Oracle Linux.
Fichiers tar compressés ou zip
Souvent, vos projets sont plus complexes et nécessitent plus de code que ne peut en contenir un seul fichier. Si vous disposez de scripts de projet et d'interpréteur de commandes Python complexes, vous pouvez archiver tout le corps du contenu et l'exécuter en tant que travail. À l'aide d'un gros fichier JAR, vous pouvez exécuter du code Java en tant que travail.
Aucune exigence spéciale ne s'applique à l'écriture du code Python ou du script d'interpréteur de commandes pour l'exécuter en tant que travail. Vous pouvez pointer vers votre fichier principal à l'aide du paramètre JOB_RUN_ENTRYPOINT
après avoir chargé le fichier zip ou l'artefact tar compressé.
Le fichier YAML d'exécution peut également être utilisé pour définir les variables d'environnement d'exécution de travail requises.
Considérations relatives au fichier d'archives :
-
Tout votre code doit être archivé dans un répertoire racine.
-
Le nom du fichier doit correspondre au nom du répertoire racine que vous avez défini avec
JOB_RUN_ENTRYPOINT
.La valeur
JOB_RUN_ENTRYPOINT
s'affiche dans la page Détails des exécutions de travail lorsqu'elle est utilisée. -
Ne modifiez pas le nom du fichier d'archives après avoir compressé votre répertoire.
Pour commencer, téléchargez, décompressez et examinez le fichier zipped_python_job.zip
, fourni à titre d'exemple.
Le fichier zip contient une tâche de journalisation simple qui est archivée dans un fichier zip sous le répertoire zipped_python_job/
. Vous pouvez exécuter la tâche en spécifiant l'emplacement du fichier python principal en définissant la variable d'environnement JOB_RUN_ENTRYPOINT
, soit dans la console OCI, soit à l'aide de la trousse SDK OCI :
"environmentVariables": {
"JOB_RUN_ENTRYPOINT": "zipped_python_job/entry.py"
}
Pour créer un fichier d'artefact de travail, procédez de la manière suivante :
- Créez un répertoire racine pour votre projet.
- Créez votre code de travail dans le répertoire racine. Le code de travail dans son intégralité doit se trouver dans le répertoire racine.
- Compressez le répertoire racine dans un fichier zip ou tar.
Vous pouvez maintenant charger le fichier d'archives comme artefact lorsque vous créez un travail. Lors de la création du travail, ajoutez JOB_RUN_ENTRYPOINT
comme variable d'environnement personnalisée dans la configuration.