Execução de Várias Instâncias do EPM Automate

Você pode executar várias instâncias do EPM Automate em um ambiente do mesmo diretório. Da mesma forma, você pode executar várias instâncias do EPM Automate em diferentes ambientes dos mesmos diretórios ou de diretórios distintos.

Por exemplo, você precisa atualizar simultaneamente o cubo do aplicativo do Planning em https://cloudpln.pbcs.us1.oraclecloud.com e em https://testcloudpln.pbcs.us1.oraclecloud.com. Neste cenário, você tem duas opções:

  • Executar duas instâncias do EPM Automate do mesmo diretório para atualizar cubos do aplicativo em ambientes diferentes

  • Executar o EPM Automate de diretórios separados para conectar aos ambientes e depois atualizar cubos do aplicativo

Nos dois cenários, cada instância do EPM Automate funciona de forma independente; ao fazer logout de uma instância, você não se desconecta da outra. As atividades iniciadas com o EPM Automate continuam sendo executadas até sua conclusão no ambiente, mesmo que você faça logout de outra instância.

Esta seção contém scripts de amostra do Windows e do Unix/Linux (caller e multisession) que podem ser usados para criar duas seções do EPM Automate para executar tarefas. Para executar várias sessões simultâneas, você deve adicionar as seguintes informações de conexão no script caller, que chama o script multisession para executar os comandos login, uploadfile, listfiles e logout. É possível modificar o script multisession para fazer outras tarefas também. Certifique-se de que os dois scripts estejam armazenados no mesmo diretório.

  • O EPM Automate usa a variável de ambiente EPM_SID para fazer distinção entre várias sessões. Essa variável deve definida no script caller com um valor exclusivo para cada sessão. Nos scripts de amostra, ele é configurado para valores exclusivos da seguinte maneira:

    • Em caller.BAT, EPM_SID é configurado como !RANDOM!, que atribui a ele um número exclusivo gerado pelo sistema. Esse número também é usado para gerar os arquivos de log de cada sessão. Para rastrear o arquivo de log de cada sessão, você pode especificar um número exclusivo em vez de !RANDOM!.

    • Em caller.sh, EPM_SID é definido como ID do processo, que é exclusivo. Para rastrear o arquivo de log de cada sessão, você pode especificar um EPM_SID exclusivo modificando a instrução export EPM_SID=$$ no script multisession para usar o valor passado e, em seguida, passar um valor exclusivo para esse parâmetro no script caller para cada sessão, por exemplo, especificando o valor de EPM SID em caller.sh da seguinte maneira:

      $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: o ID de logon de um Administrador de Serviço

  • PASSWORD: senha do Administrador do Serviço

  • URL: URL de conexão do ambiente

Exemplo de Scripts do 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 Bourne Shell de Amostra

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