Ejecución de varias instancias de EPM Automate

Puede ejecutar varias instancias de EPM Automate con respecto a un entorno del mismo directorio. De manera similar, puede ejecutar varias instancias de EPM Automate con respecto a diferentes entornos desde mismo directorio o directorios diferentes.

Por ejemplo, puede que tenga que refrescar de manera simultánea el cubo de la aplicación de Planning en https://cloudpln.pbcs.us1.oraclecloud.com y https://testcloudpln.pbcs.us1.oraclecloud.com. En este escenario, tiene dos opciones:

  • Ejecutar dos instancias de EPM Automate desde el mismo directorio para refrescar los cubos de la aplicación en entornos diferentes.

  • Ejecutar EPM Automate desde directorios separados para conectar los entornos y, a continuación, refrescar los cubos de la aplicación.

En ambos escenarios, cada instancia de EPM Automate funciona de forma independiente; cerrar sesión en una instancia no significa que se cierre sesión en las otras. Las actividades iniciadas con EPM Automate siguen ejecutándose hasta su finalización en el entorno, incluso si cierra la sesión desde otra instancia.

Esta sección contiene scripts de ejemplo de Windows y Unix/Linux (caller y multisession) que se pueden usar para crear dos sesiones de EPM Automate para realizar tareas. Para ejecutar varias sesiones simultáneas, debe agregar la siguiente información de conexión en el script caller, el cual llama al script multisession para ejecutar los comandos login, uploadfile, listfiles y logout. Puede modificar el script multisession para realizar tareas distintas de estas. Asegúrese de que ambos scripts se almacenan en el mismo directorio.

  • EPM Automate utiliza la variable de entorno EPM_SID para distinguir las sesiones múltiples. Esta variable debe establecerse en un valor único en el script de emisor de llamada para cada sesión. En los scripts de ejemplo, se define en valores únicos de la siguiente manera:

    • En caller.BAT, EPM_SID se define en !RANDOM!, que lo asigna a un número único generado por el sistema. Este número también se utiliza para generar archivos de registro para cada sesión. Si desea realizar el seguimiento del archivo de registro para cada sesión, puede especificar un número único en lugar de !RANDOM!.

    • En caller.sh, EPM_SID se define en el identificador de proceso, que es único. Si desea realizar un seguimiento del archivo de registro para cada sesión, puede especificar un EPM_SID único modificando la sentencia export EPM_SID=$$ en el script multisession para que se utilice el valor transferido y, a continuación, se transfiera un valor único para este parámetro en el script caller para cada sesión; por ejemplo, especificando el valor de EPM SID en caller.sh de la siguiente manera:

      $SCRIPT_DIR/multisession.sh EPM_SID "USERNAME" "PASSWORD" "URL" "/home/user/Snapshot1.zip" &
      $SCRIPT_DIR/multisession.sh EPM_SID "USERNAME" "PASSWORD" "URL" "/home/user/Snapshot2.zip" &
  • USERNAME: ID de conexión de un administrador de servicio

  • PASSWORD: contraseña del administrador de servicio

  • URL: URL de conexión del entorno

Scripts de Windows de ejemplo

caller.BAT

@echo off
setlocal EnableExtensions EnableDelayedExpansion

REM syntax: start /B multisession.bat EPM_SID "USERNAME" "PASSWORD" "URL"  "SNAPSHOTPATH"
start /B multisession.bat !RANDOM! "USERNAME" "PASSWORD" "URL" "C:\Snapshot1.zip"
start /B multisession.bat !RANDOM! "USERNAME" "PASSWORD" "URL" "C:\Snapshot2.zip"

endlocal

multisession.BAT

@echo off

set EPM_SID=%1
set USERNAME=%2
set PASSWORD=%3
set URL=%4
set SNAPSHOTNAME=%5

echo User: %USERNAME% > %EPM_SID%.log
echo Cloud Instance: %URL% >> %EPM_SID%.log

call epmautomate login %USERNAME% %PASSWORD% %URL% >> %EPM_SID%.log
call epmautomate uploadfile %SNAPSHOTNAME% >> %EPM_SID%.log
call epmautomate listfiles >> %EPM_SID%.log
call epmautomate logout

Script de shell Bourne de ejemplo

caller.sh
#!/bin/sh

set +x
SCRIPT_DIR=`dirname "${0}"`

# syntax: /home/user/multisession.sh "USERNAME" "PASSWORD" "URL" "SNAPSHOTPATH" &
$SCRIPT_DIR/multisession.sh "USERNAME" "PASSWORD" "URL"  "/home/user/Snapshot1.zip" &
$SCRIPT_DIR/multisession.sh "USERNAME" "PASSWORD" "URL" "/home/user/Snapshot2.zip" &
multisession.sh
#!/bin/sh

set +x

EPM_AUTOMATE_HOME=/home/user/epmautomate

export JAVA_HOME=/home/user/jre
export EPM_SID=$$

USERNAME=$1
PASSWORD=$2
URL=$3
SNAPSHOTNAME=$4

echo User: $USERNAME > $EPM_SID.log
echo Cloud Instance: $URL >> $EPM_SID.log

$EPM_AUTOMATE_HOME/bin/epmautomate.sh login $USERNAME $PASSWORD $URL >> $EPM_SID.log
$EPM_AUTOMATE_HOME/bin/epmautomate.sh uploadfile $SNAPSHOTNAME >> $EPM_SID.log
$EPM_AUTOMATE_HOME/bin/epmautomate.sh listfiles >> $EPM_SID.log
$EPM_AUTOMATE_HOME/bin/epmautomate.sh logout