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 em diferentes ambientes dos mesmos diretórios ou de diretórios distintos.

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

Executar Duas Sessões no Mesmo Diretório

Você pode executar duas instâncias do EPM Automate no mesmo diretório. Scripts específicos precisam ser implementados para garantir que cada instância funcione de forma independente, de modo que a desconexão de uma instância não cause a desconexão da outra. Esses scripts asseguram que as atividades do EPM Automate continuem sendo executadas até sua conclusão no ambiente, mesmo que você se desconecte da 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 sessões no mesmo diretório.

Para executar várias sessões simultâneas, você deve adicionar informações sobre 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 armazenar esses scripts 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

Executar Duas Sessões em Diferentes Diretórios

Em servidores UNIX/Linux, você pode executar duas sessões em diferentes ambientes de diretórios distintos sem que seja necessário escrever scripts específicos. Os comandos do EPM Automate executados em dois diretórios distintos não interferem entre si e podem funcionar independentemente um do outro. Essa abordagem não funciona em computadores Windows porque você deve usar os scripts específicos mencionados na seção anterior.