Esecuzione di più istanze di EPM Automate

È possibile eseguire più istanze di EPM Automate in un unico ambiente dalla stessa directory. Allo stesso modo, è possibile eseguire più istanze in ambienti diversi dalla stessa directory o da directory diverse.

Si supponga, ad esempio, di dover aggiornare contemporaneamente il cubo dell'applicazione Planning in due ambienti diversi: https://cloudpln.pbcs.us1.oraclecloud.com e https://testcloudpln.pbcs.us1.oraclecloud.com. In questo scenario, è possibile procedere in due modi:

Eseguire due sessioni dalla stessa directory

È possibile eseguire due istanze di EPM Automate dalla stessa directory. È necessario implementare script specifici per essere certi che ogni istanza funzioni in maniera indipendente in modo che la disconnessione da un'istanza non causi la disconnessione dall'altra. Tali script garantiscono che le attività di EPM Automate continuino fino al completamento nell'ambiente anche se ci si disconnette dall'altra istanza. In questa sezione sono contenuti script campione di Windows e di Unix/Linux (caller e multisession) che possono essere utilizzati per creare due sessioni dalla stessa directory.

Per eseguire più sessioni simultanee, è necessario aggiungere le informazioni di connessione nello script caller, che chiama lo script multisession per eseguire i comandi login, uploadfile, listfiles e logout. È possibile modificare lo script multisession per eseguire task diversi da quelli indicati. Assicurarsi di memorizzare questi script nella stessa directory.

  • EPM Automate utilizza la variabile di ambiente EPM_SID per distinguere tra più sessioni. La variabile deve essere impostata nello script chiamante su un valore univoco per ogni sessione. Negli script di esempio è impostato su valori univoci nel modo seguente:

    • In caller.bat, EPM_SID è impostato su !RANDOM!, che assegna un numero univoco generato dal sistema. Questo numero viene inoltre utilizzato per generare i file di log per ogni sessione. Se si desidera tenere traccia del file di log per ogni sessione, invece di !RANDOM! è possibile specificare un numero univoco.

    • In caller.sh, EPM_SID è impostato sull'ID processo, che è un valore univoco. Se si desidera tenere traccia del file di log per ogni sessione, è possibile specificare un valore univoco per EPM_SID modificando l'istruzione export EPM_SID=$$ nello script multisession in modo da utilizzare il valore passato, quindi passare un valore univoco per questo parametro nello script caller per ogni sessione, ad esempio specificando il valore di EPM SID in caller.sh nel modo seguente:

      $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 di accesso di un utente con ruolo Amministratore servizi

  • PASSWORD: password dell'utente con ruolo Amministratore servizi

  • URL: URL di connessione dell'ambiente

Script di esempio di 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

Script di esempio della 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

Eseguire due sessioni da directory diverse

Nei server UNIX/Linux, è possibile eseguire due sessioni in ambienti diversi da directory diverse senza scrivere script specifici. I comandi di EPM Automate eseguiti da due directory diverse non interferiscono tra loro e possono funzionare in modo indipendente l'uno dall'altro. Questo approccio non funziona nei computer Windows in cui è necessario utilizzare script specifici indicati nella sezione precedente.