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:

  1. Crie um diretório raiz para seu projeto.
  2. Crie seu código de job no diretório raiz. Todo o código do job deve estar no diretório-raiz.
  3. 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.