Configurando subroutines de tarefas antes-de-tarefa e após-job em DataStage

Use as sub-rotinas before-job e after-job para executar sub-rotinas integradas. Esse recurso está disponível para o motor remoto DataStage Anywhere ou Cloud Pak for Data. O recurso antes/depois do trabalho está disponível na nuvem somente quando se usa um mecanismo remoto DataStage Anywhere.

Antes-job e after-job subroutines incluem executar um script antes que a tarefa seja executada ou gerando um relatório após a conclusão do trabalho com sucesso. Um código de retorno de 0 da sub-rotina indica sucesso. Qualquer outro código indica falha e causa um erro irrecuperável quando a tarefa é executada.

Para configurar um subroutine antes de job ou after-job, complete as etapas a seguir.
  1. Abra um fluxo DataStage® , em seguida, clique no ícone Configurações Ícone de Configurações .
  2. Na página Configurações , clique em Before / after-job subroutines.
  3. Especificar um subroutinho de trabalho antes, um subroutine de pós-emprego ou ambos. Em seguida, clique em Salvar.

Usando o código Python customizado em sub-rotinas

É possível instalar pacotes Python para executar scripts em sub-rotinas de tarefas anteriores e posteriores.
  1. Abra um fluxo do DataStage , navegue até Configurações Ícone de Configuraçõese clique em sub-rotinas de Antes / Depois da tarefa
  2. Em sub-rotina integrada para executar, escolha Executar comando shell..
  3. Na caixa de texto Comando ( Shell ), insira um comando para criar um diretório para seus módulos em /px-storage e um comando para instalar os módulos desejados. Este comando de exemplo instala módulos no diretório pip_modules..
    mkdir -p /px-storage/pip_modules && pip3 install <modulename1> <modulename2> --target /px-storage/pip_modules –user
  4. Salve e execute o fluxo..
  5. Para permitir que os usuários não raiz executem seu script, anexe o caminho de arquivo do diretório do módulo na parte superior do script Python Seguindo o exemplo anterior:
    import sys
    sys.path.append("/px-storage/pip_modules")
  6. Substitua o comando na caixa de texto “ Shell ” (Executar este comando) por um comando para chamar o script “ Python ” com seu caminho de arquivo. Este exemplo chama o script test_data.py de /ds-storage/ing_py_env.
    python3 /ds-storage/ing_py_env/test_data.py
  7. Salve e execute o fluxo..

Uso do cpdctl em rotinas antes e depois do trabalho

Você pode usar a linha de comando (cpdctl) antes e depois das rotinas de trabalho.

Você pode encontrar o binário cpdctl no diretório /px-storage/tools/cpdctl. Se você quiser atualizar o cpdctl para a versão mais recente, poderá fazer o download da versão específica nesta página: https://github.com/IBM/cpdctl/releases. Use o seguinte comando para copiar a versão do cpdctl:
 oc cp cpdctl ds-px-default-ibm-datastage-px-runtime-7d77747cfc-sjngt:/px-storage/tools/cpdctl/cpdctl

Para executar os comandos cpdctl, execute as etapas a seguir.

  1. Abra um fluxo DataStage, vá para Configurações Ícone de Configurações e clique em Subrotinas antes/depois do trabalho.
  2. Em sub-rotina integrada para executar, escolha Executar comando shell..
  3. Na caixa de texto comando Shell, digite o comando cpdctl que deseja executar, por exemplo
    cpdctl project list
  4. Se quiser executar o fluxo a partir da tela, você pode criar um parâmetro local na tela do trabalho.
    1. Na tela, clique em Adicionar parâmetros e, em seguida, Criar parâmetro.
    2. No campo Name, especifique o nome do parâmetro como $ENABLE_CPDCTL.
    3. Escolha o tipo String e digite um valor 1 no campo Default value.
  5. Se você quiser usar a linha de comando cpdctl para executar seu trabalho, use o seguinte comando para configurar o trabalho com a variável ENABLE_CPDCTL.
    cpdctl dsjob run --project-name --job --env ENABLE_CPDCTL=1
  6. Salve e execute o trabalho com a opção de ambiente especificada ENABLE_CPDCTL=1.