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 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 dans deux environnements différents : https://cloudpln.pbcs.us1.oraclecloud.com et https://testcloudpln.pbcs.us1.oraclecloud.com. Dans ce scénario, deux possibilités s'offrent à vous :

Exécution de deux sessions à partir du même répertoire

Vous pouvez exécuter deux instances d'EPM Automate à partir du même répertoire. Des scripts spécifiques doivent être implémentés afin de s'assurer que chaque instance fonctionne indépendamment de sorte que la déconnexion d'une instance ne vous déconnecte pas de l'autre. Ces scripts permettent de garantir que les activités 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 à partir du même répertoire.

Pour exécuter plusieurs sessions simultanées, vous devez ajouter les informations de connexion dans le script caller, qui appelle le script multisession afin d'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 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

Exécution de deux sessions à partir de répertoires différents

Sur les serveurs UNIX/Linux, vous pouvez exécuter deux sessions dans des environnements différents à partir de répertoires différents sans écrire de scripts spécifiques. Les commandes EPM Automate exécutées à partir de deux répertoires différents n'interfèrent pas l'une avec l'autre, et peuvent fonctionner indépendamment l'une de l'autre. Cette approche ne fonctionne pas sur les ordinateurs Windows où vous devez utiliser des scripts spécifiques mentionnés dans la section précédente.