0 / 0
Volver a la versión inglesa de la documentación

Configuración de subrutinas antes y después del trabajo en DataStage

Última actualización: 12 mar 2025
Configuración de subrutinas antes y después del trabajo en DataStage

Utilice las subrutinas before-job y after-job para ejecutar subrutinas incorporadas.

Las subrutinas antes y después del trabajo incluyen la ejecución de un script antes de que se ejecute el trabajo o la generación de un informe después de que se complete correctamente el trabajo. Un código de retorno de 0 de la subrutina indica que la ejecución se ha realizado correctamente. Cualquier otro código indica una anomalía y causa un error irrecuperable cuando se ejecuta el trabajo.

Para configurar una subrutina antes o después del trabajo, realice los pasos siguientes.
  1. Abra un flujo de DataStage® y, a continuación, pulse el icono Valores Icono Valores .
  2. En la página Valores , pulse Antes/después de subrutinas de trabajo.
  3. Especifique una subrutina anterior al trabajo, una subrutina posterior al trabajo o ambas. A continuación, pulse Guardar.

Utilización de código Python personalizado en subrutinas

Puede instalar paquetes Python para ejecutar scripts en subrutinas antes y después del trabajo.
  1. Abra un flujo de DataStage , vaya a Valores Icono Valoresy pulse Antes/después de subrutinas de trabajo.
  2. En Subrutina incorporada para ejecutar, elija Ejecutar mandato de shell.
  3. En el cuadro de texto Shell, introduzca un comando para crear un directorio para sus módulos en /px-storage y un comando para instalar los módulos deseados. Este mandato de ejemplo instala módulos en el directorio pip_modules.
    mkdir -p /px-storage/pip_modules && pip3 install <modulename1> <modulename2> --target /px-storage/pip_modules –user
  4. Guarde y ejecute el flujo.
  5. Para permitir que los usuarios no root ejecuten el script, añada la vía de acceso de archivo del directorio del módulo en la parte superior del script Python . Siguiendo el ejemplo anterior:
    import sys
    sys.path.append("/px-storage/pip_modules")
  6. Sustituya el comando en el cuadro de texto Shell por un comando para llamar al script Python con su ruta de archivo. Este ejemplo llama al script test_data.py desde /ds-storage/ing_py_env.
    python3 /ds-storage/ing_py_env/test_data.py
  7. Guarde y ejecute el flujo.

Uso de cpdctl en rutinas de antes y después del trabajo

Puede utilizar la línea de comandos (cpdctl) antes y después de sus rutinas de trabajo.

Puede encontrar el binario cpdctl en el directorio /px-storage/tools/cpdctl. Si quieres actualizar el cpdctl a la última versión, puedes descargar la versión específica desde esta página: https://github.com/IBM/cpdctl/releases. Utilice el siguiente comando para copiar la versión de cpdctl:
 oc cp cpdctl ds-px-default-ibm-datastage-px-runtime-7d77747cfc-sjngt:/px-storage/tools/cpdctl/cpdctl

Para ejecutar comandos cpdctl, complete los siguientes pasos.

  1. Abra un flujo DataStage, vaya a Configuración Icono Valores y haga clic en Subrutinas antes/después del trabajo.
  2. En Subrutina incorporada para ejecutar, elija Ejecutar mandato de shell.
  3. En el cuadro de texto Shell, introduzca un comando cpdctl que desee ejecutar, por ejemplo
    cpdctl project list
  4. Si desea ejecutar el flujo desde el lienzo, puede crear un parámetro local en su lienzo de trabajo.
    1. En el lienzo, haga clic en Añadir parámetros y, a continuación, en Crear parámetro.
    2. En el campo Nombre, especifique el nombre del parámetro como $ENABLE_CPDCTL.
    3. Elija el tipo Cadena e introduzca un valor 1 en el campo Valor predeterminado.
  5. Si desea utilizar la línea de comandos cpdctl para ejecutar su trabajo, utilice el siguiente comando para configurar el trabajo con la variable ENABLE_CPDCTL.
    cpdctl dsjob run --project-name --job --env ENABLE_CPDCTL=1
  6. Guarde y ejecute el trabajo con la opción de entorno especificada ENABLE_CPDCTL=1.