워크플로우 객체에서 일정을 워크플로우 코드의 등록 정보로 지정할 수도 있습니다. 여기에 사용되는 등록 정보 구문은 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