Exécution de plusieurs instances d'EPM Automate

Vous pouvez exécuter plusieurs instances d'EPM Automate sur un seul environnement à partir du même répertoire. Vous pouvez également exécuter plusieurs instances d'EPM Automate sur différents environnements, à partir du même répertoire ou de plusieurs répertoires.

Par exemple, vous devrez peut-être actualiser simultanément le cube de l'application Planning sur les pages https://cloudpln.pbcs.us1.oraclecloud.com et https://testcloudpln.pbcs.us1.oraclecloud.com. Dans ce scénario, deux possibilités s'offrent à vous :

  • Exécuter deux instances d'EPM Automate à partir du même répertoire pour actualiser les cubes d'application dans différents environnements

  • Exécuter EPM Automate à partir de répertoires distincts pour se connecter aux environnements, puis actualiser les cubes d'application

Dans les deux scénarios, chaque instance d'EPM Automate fonctionne indépendamment : la déconnexion d'une instance ne vous déconnecte pas des autres. Les activités lancées à l'aide d'EPM Automate poursuivent leur exécution jusqu'à achèvement dans l'environnement, même si vous vous déconnectez de l'autre instance.

Cette section contient des échantillons de script pour Windows et Unix/Linux (caller et multisession) que vous pouvez utiliser afin de créer deux sessions EPM Automate en vue d'exécuter les tâches. Pour exécuter plusieurs sessions simultanées, vous devez ajouter les informations de connexion suivantes dans le script caller, qui appelle le script multisession pour exécuter les commandes login, uploadfile, listfiles et logout. Vous pouvez modifier le script multisession pour effectuer d'autres tâches. Assurez-vous que ces deux scripts sont stockés dans le même répertoire.

  • EPM Automate utilise la variable d'environnement EPM_SID pour distinguer plusieurs sessions. Cette variable doit être définie dans le script demandeur sur une valeur unique pour chaque session. Dans les exemples de scripts, il est défini sur les valeurs uniques suivantes :

    • Dans caller.BAT, EPM_SID est défini sur !RANDOM!, ce qui lui affecte un numéro unique généré par le système. Ce numéro est également utilisé lors de la génération des fichiers journaux des sessions. Si vous souhaitez suivre le fichier journal de chaque session, vous pouvez indiquer un numéro unique au lieu de !RANDOM!.

    • Dans caller.sh, EPM_SID est défini sur l'ID de processus, qui est unique. Si vous souhaitez suivre le fichier journal de chaque session, vous pouvez indiquer un EPM_SID unique en modifiant l'instruction export EPM_SID=$$ dans le script multisession afin d'utiliser la valeur transmise, puis transmettre une valeur unique pour ce paramètre dans le script caller pour chaque session, par exemple en indiquant la valeur EPM SID dans caller.sh comme suit :

      $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 connexion de l'administrateur de service

  • PASSWORD : mot de passe de l'administrateur de service

  • URL : URL de connexion de l'environnement

Exemples de script Windows

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

Exemple de script shell Bourne

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