Mehrere Instanzen von EPM Automate ausführen

Sie können mehrere Instanzen von EPM Automate in einer Umgebung aus demselben Verzeichnis ausführen. Ebenso können Sie mehrere Instanzen von EPM Automate in verschiedenen Umgebungen aus demselben oder verschiedenen Verzeichnissen ausführen.

Beispiel: Sie müssen den Cube der Planning-Anwendung unter https://cloudpln.pbcs.us1.oraclecloud.com und https://testcloudpln.pbcs.us1.oraclecloud.com möglicherweise gleichzeitig aktualisieren. In diesem Szenario haben Sie zwei Möglichkeiten:

  • Zwei Instanzen von EPM Automate aus demselben Verzeichnis ausführen, um Anwendungs-Cubes in verschiedenen Umgebungen zu aktualisieren

  • EPM Automate aus separaten Verzeichnissen ausführen, um eine Verbindung zu den Umgebungen herzustellen und dann die Anwendungs-Cubes zu aktualisieren

In beiden Szenarios arbeiten die Instanzen von EPM Automate unabhängig voneinander. Beim Abmelden von einer Instanz werden Sie nicht von anderen Instanzen abgemeldet. Aktivitäten, die mit EPM Automate initiiert wurden, werden in der Umgebung weiterhin bis zum Abschluss ausgeführt, auch wenn Sie sich von der anderen Instanz abmelden.

Dieser Abschnitt enthält Beispielskripte für Windows und Unix/Linux (caller und multisession), mit denen zwei EPM Automate-Sessions zum Ausführen von Aufgaben erstellt werden können. Um mehrere Sessions gleichzeitig auszuführen, müssen Sie folgende Verbindungsinformationen im caller-Skript hinzufügen. Damit wird das multisession-Skript zum Ausführen der Befehle login, uploadfile, listfiles und logout aufgerufen. Sie können das multisession-Skript ändern, um damit andere Aufgaben als diese auszuführen. Stellen Sie sicher, dass beide Skripte in demselben Verzeichnis gespeichert sind.

  • EPM Automate verwendet die Umgebungsvariable EPM_SID, um mehrere Sessions zu unterscheiden. Diese Variable muss im Aufruferskript für jede Session auf einen eindeutigen Wert gesetzt sein. In den Beispielskripten ist sie wie folgt auf eindeutige Werte gesetzt:

    • In caller.BAT ist EPM_SID auf !RANDOM! gesetzt. Dadurch wird der ID eine eindeutige systemgenerierte Zahl zugewiesen. Diese Zahl wird auch zum Generieren der Logdateien für jede Session verwendet. Wenn Sie die Logdatei für jede Session verfolgen möchten, können Sie eine eindeutige Zahl anstelle von !RANDOM! angeben.

    • In caller.sh, ist EPM_SID auf die Prozess-ID gesetzt, die eindeutig ist. Wenn Sie die Logdatei für jede Session verfolgen möchten, können Sie einen eindeutigen Wert für EPM_SID angeben, indem Sie die Anweisung export EPM_SID=$$ im multisession-Skript ändern, sodass der übergebene Wert verwendet wird, und dann einen eindeutigen Wert für diesen Parameter in das caller-Skript für jede Session übergeben, indem Sie z.B. wie folgt den Wert von EPM SID in caller.sh angeben:

      $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: Anmelde-ID eines Serviceadministrators

  • PASSWORD: Kennwort des Serviceadministrators

  • URL: Verbindungs-URL der Umgebung

Windows-Beispielskripte

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

Bourne-Shell-Beispielskript

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