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