Preparando Artefatos de Job
Saiba como criar um artefato de job a ser usado em seus jobs e execuções de jobs.
O artefato de jobs pode ter no máximo 4 GB. Estes são os tipos de artefatos de job que você pode usar:
Arquivos Python
O artefato pode ser um arquivo Python simples e único contendo o código para executar um job como este exemplo de arquivo Python:
# simple job
import time
print("Hello job world!")
time.sleep(3)
print("Job Done.")
Esse job imprime duas mensagens com um tempo de suspensão de três segundos entre elas. Você pode salvar o código em um único arquivo hello_world_job.py
e executá-lo como job. As execuções de job já fornecem o Python pré-instalado e podem executar o código com todas as bibliotecas do sistema Python.
Esse exemplo não usa bibliotecas Python de terceiros. Você controla as bibliotecas e os ambientes Python instalados usando o job em um ambiente conda.
Scripts Bash ou Shell
Você pode usar um único arquivo de script como neste exemplo ou um mais complexo:
#!/bin/bash
var=$1
if [ -z "$var" ]
then
echo "no argument provided"
exit 100
else
while [ "$1" != "" ]; do
echo "Received: ${1}" && shift;
done
fi
Esses tipos de execuções de jobs são efetuados com o Oracle Linux.
Arquivos zip ou Tar Compactados
Em geral, seus projetos são mais complexos e exigem mais código do que é viável em um único arquivo. Se você tiver scripts shell e projeto Python complexos, poderá arquivar todo o corpo do conteúdo e executá-lo como job. Usando um arquivo fat JAR, você pode executar o código Java como job.
Não há requisitos especiais sobre como escrever seu código Python ou script shell para executá-lo como job. Você pode apontar para o arquivo principal usando o parâmetro JOB_RUN_ENTRYPOINT
após fazer upload do zip ou do artefato tar compactado.
Os artefatos zip e tar compactados também podem ter um arquivo YAML de tempo de execução que define as variáveis de ambiente de execução de job necessárias.
Considerações sobre arquivos compactados:
-
Todo o seu código deve ser arquivado em um diretório raiz.
-
O nome do arquivo deve corresponder ao nome do diretório raiz definido com
JOB_RUN_ENTRYPOINT
.O
JOB_RUN_ENTRYPOINT
aparece na página Detalhes das Execuções de Job quando está em uso. -
Não altere o nome do arquivo compactado após compactar o diretório.
Comece a usar a amostra baixando, descompactando e examinando o arquivo zipped_python_job.zip
.
O arquivo zip contém um job de log simples que é arquivado em um arquivo zip no diretório zipped_python_job/
. Você pode executar o job especificando a localização do arquivo python principal definindo a variável de ambiente JOB_RUN_ENTRYPOINT
, na Console do OCI ou usando o OCI SDK:
"environmentVariables": {
"JOB_RUN_ENTRYPOINT": "zipped_python_job/entry.py"
}
Use estas etapas para criar um arquivo de artefato de job:
- Crie um diretório raiz para seu projeto.
- Crie seu código de job no diretório raiz. Todo o código do job deve estar no diretório-raiz.
- Compactar o diretório raiz em um arquivo zip ou tar.
Agora você poderá fazer upload do arquivo compactado como artefato de job quando criar um job. Ao criar o job, adicione JOB_RUN_ENTRYPOINT
como variável de ambiente personalizada na configuração do job.