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 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 dos entornos diferentes: https://cloudpln.pbcs.us1.oraclecloud.com y https://testcloudpln.pbcs.us1.oraclecloud.com. En este escenario, tiene dos opciones:

Ejecutar dos sesiones desde el mismo directorio

Puede ejecutar dos instancias de EPM Automate desde el mismo directorio. Se deben implementar scripts específicos para asegurar que cada instancia funcione de forma independiente, de modo que el cierre de sesión de una instancia no cierre la sesión de la otra. Estos scripts aseguran que las actividades de 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 desde el mismo directorio.

Para ejecutar varias sesiones simultáneas, debe agregar la 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 almacenar estos scripts 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 establece 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

Ejecutar dos sesiones desde distintos directorios

En los servidores UNIX/Linux, puede ejecutar dos sesiones en diferentes entornos de diferentes directorios sin escribir scripts específicos. Los comandos de EPM Automate que se ejecutan desde dos directorios diferentes no interfieren entre sí y pueden funcionar de forma independiente. Este enfoque no funciona en equipos Windows en los que debe utilizar scripts específicos mencionados en la sección anterior,