워크플로우 객체에서 일정을 워크플로우 코드의 등록 정보로 지정할 수도 있습니다. 여기에 사용되는 등록 정보 구문은 CLI 일정 생성 시와 다릅니다. 여기서는 세 가지 등록 정보가 사용됩니다.
|
다음 코드 예에서는 등록 정보의 사용을 보여줍니다. 인라인 산술을 활용하면 오프셋 및 기간 선언을 보다 쉽게 읽을 수 있습니다.
// Example of using Schedule definitions within a workflow
var MyTextObject = {
MyVersion: '1.0',
MyName: 'Example 9',
MyDescription: 'Example of use of Timer',
Origin: 'Oracle'
};
var MySchedules = [
// half hr interval
{ offset: 0, period: 1800, units: "seconds" },
// offset 2 days, 4hr, 30min , week interval
{offset: 2*24*60*60+4*60*60+30*60, period: 604800,units: "seconds" }
];
var workflow = {
name: MyTextObject.MyName,
description: MyTextObject.MyDescription,
version: MyTextObject.MyVersion,
alert: false,
setid: true,
schedules: MySchedules,
scheduled: true,
origin: MyTextObject.Origin,
execute: function () {
audit('workflow started for timer; ');
}
}
}; MySchedules 객체의 단위 등록 정보는 offset 및 period 등록 정보에 사용되는 단위의 유형을 지정합니다. seconds 또는 month로 설정할 수 있습니다. period 등록 정보는 이벤트의 빈도를 지정하고 offset은 기간 내 단위를 지정합니다. 위 예에서 두번째 일정의 기간은 주로 설정되어 있으며, 두번째 날 4:30부터 시작합니다. schedules 등록 정보에 여러 일정을 정의할 수 있습니다.
예에 나오는 MySchedules 객체는 다음 세 개의 등록 정보를 사용합니다.
offset - 일정에서 1970년 1월 1일부터의 시작 오프셋입니다. offset은 "units" 등록 정보로 정의된 단위로 제공됩니다.
period - "units" 등록 정보로 정의된 단위로 제공되는 일정 반복 사이의 기간입니다.
units - 초 또는 개월로 정의할 수 있습니다.
주간 일정의 시작 지점은 목요일입니다. epoch가 시작하도록 정의된 1970년 1월 1일은 목요일이기 때문입니다.
예 30 CLI에 표시된 워크플로우 일정위 예에서 두번째 일정의 기간은 2일 + 4시간 + 30분의 시작 오프셋을 사용합니다. 따라서 시작 날짜는 1970년 1월 3일 오전 4:30입니다. 이 일정은 매주 토요일 오전 4:30에 무기한 반복됩니다. 다음은 CLI에서 표시되는 일정을 보여줍니다.
<small>dory:> maintenance workflows dory:maintenance workflows> list WORKFLOW NAME OWNER SETID ORIGIN VERSION workflow-000 Configure for Oracle Solaris Cluster NFS root false Oracle Corporation 1.0.0 workflow-001 Unconfigure Oracle Solaris Cluster NFS root false Oracle Corporation 1.0.0 workflow-002 Configure for Oracle Enterprise Manager Monitoring root false Sun Microsystems, Inc. 1.1 workflow-003 Unconfigure Oracle Enterprise Manager Monitoring root false Sun Microsystems, Inc. 1.0</small>
dory:maintenance workflow-002 schedules>
NAME FREQUENCY DAY HH:MM schedule-000 halfhour - --:00 schedule-001 week Saturday 04:30