EPM Automate의 여러 인스턴스 실행

EPM Automate의 여러 인스턴스를 동일한 디렉토리의 한 환경에 대해 실행할 수 있습니다. 마찬가지로, EPM Automate의 여러 인스턴스를 동일한 디렉토리 또는 서로 다른 디렉토리의 서로 다른 환경에 대해 실행할 수 있습니다.

예를 들어 Planning 애플리케이션 큐브를 https://cloudpln.pbcs.us1.oraclecloud.comhttps://testcloudpln.pbcs.us1.oraclecloud.com에서 동시에 새로고쳐야 할 수 있습니다. 이 시나리오에는 두 가지 옵션이 있습니다.

  • 동일한 디렉토리에서 두 개의 EPM Automate 인스턴스를 실행하여 서로 다른 환경에서 애플리케이션 큐브를 새로고칩니다.

  • 별도 디렉토리에서 EPM Automate를 실행하여 환경에 연결하고 애플리케이션 큐브를 새로고칩니다.

두 시나리오 모두 EPM Automate의 각 인스턴스는 독립적으로 작동합니다. 한 인스턴스에서 로그아웃되더라도 다른 인스턴스에서는 로그아웃되지 않습니다. EPM Automate를 사용하여 시작된 활동은 다른 인스턴스에서 로그아웃하더라도 해당 환경에서 완료될 때까지 계속 실행됩니다.

이 섹션에는 두 개의 EPM Automate 세션을 생성하여 태스크를 수행하는 데 사용할 수 있는 Windows 및 Unix/Linux 샘플 스크립트(callermultisession)가 있습니다. 여러 개의 동시 세션을 실행하려면 multisession 스크립트를 호출하여 login, uploadfile, listfileslogout 명령을 실행하는 caller 스크립트에 다음 연결 정보를 추가해야 합니다. 다른 태스크를 수행하도록 multisession 스크립트를 수정할 수 있습니다. 이러한 스크립트는 둘 다 동일한 디렉토리에 저장되어 있어야 합니다.

  • EPM Automate에서는 EPM_SID 환경 변수를 사용하여 여러 세션을 구별합니다. caller 스크립트에서 이 변수를 각 세션에 고유한 값으로 설정해야 합니다. 샘플 스크립트에서는 다음과 같이 고유한 값으로 설정됩니다.

    • caller.BAT에서 EPM_SID는 고유한 시스템 생성 번호를 지정하는 !RANDOM!으로 설정됩니다. 이 번호는 각 세션의 로그 파일을 생성하는 데에도 사용됩니다. 각 세션의 로그 파일을 추적하려는 경우 !RANDOM! 대신 고유 번호를 지정할 수 있습니다.

    • caller.sh에서 EPM_SID는 고유한 프로세스 ID로 설정됩니다. 각 세션의 로그 파일을 추적하려는 경우 전달된 값을 사용하도록 multisession 스크립트의 export EPM_SID=$$ 문을 수정하여 고유한 EPM_SID를 지정한 다음, 각 세션의 caller 스크립트에서 이 매개 변수에 대해 고유한 값을 전달합니다. 예를 들어 caller.sh 스크립트에서 EPM SID의 값을 다음과 같이 지정합니다.

      $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

  • PASSWORD: 서비스 관리자의 비밀번호

  • URL: 환경의 연결 URL

샘플 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

샘플 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