Oracle® ZFS Storage Appliance 관리 설명서, 릴리스 2013.1.5.0

인쇄 보기 종료

업데이트 날짜: 2016년 2월
 
 

워크플로우 이해

워크플로우는 단일 전역 변수 workflow를 포함하는 유효한 ECMAScript 파일에 구현됩니다. 이는 3개 이상의 멤버를 포함해야 하는 객체입니다.

표 109  필수 객체 멤버
필수 멤버
유형
설명
name
문자열
워크플로우 이름
description
문자열
워크플로우 설명
execute
함수
워크플로우를 실행하는 함수
예 12  Hello World 워크플로우

다음은 기본 워크플로우의 예입니다.

var workflow = {
       name: 'Hello world',
       description: 'Bids a greeting to the world',
       execute: function () { return ('hello world!') }
};

이 워크플로우를 업로드하면 이름이 "Hello world"인 새 워크플로우가 생성됩니다. 이 워크플로우를 실행하면 "hello world!"라는 출력이 생성됩니다.

예 13  워크플로우 Run 함수를 사용하여 CPU 사용률 반환

워크플로우는 기본적으로 워크플로우를 실행하는 사용자로 실행되며 어플라이언스 셸에서 비동기적으로 실행됩니다. 이와 같이 워크플로우에는 사용할 수 있는 어플라이언스 스크립트 기능(Working with CLI Scripting 참조)이 있으며, 어플라이언스 셸의 다른 모든 인스턴스와 마찬가지로 어플라이언스와 상호 작용할 수 있습니다. 즉, 워크플로우를 통해 명령을 실행하고, 출력을 구문 분석하고, 상태를 수정하는 등의 작업을 수행할 수 있습니다. 다음은 run 함수를 사용하여 현재 CPU 사용률을 반환하는 보다 복잡한 예입니다.

var workflow = {
       name: 'CPU utilization',
       description: 'Displays the current CPU utilization',
       execute: function () {
               run('analytics datasets select name=cpu.utilization');
               cpu = run('csv 1').split('\n')[1].split(',');
               return ('At ' + cpu[0] + ', utilization is ' + cpu[1] + '%');
       }
};