スケジュールは、オブジェクトワークフローのプロパティーとして、ワークフローコードで指定することもできます。ここで使用されるプロパティーの構文は、CLI でスケジュールを作成する場合と異なります。ここでは 3 つのプロパティーが使用されます。
|
次のコード例は、プロパティーの使用方法を示しています。インライン演算を使用することで、offset や period の宣言が読みやすくなっていることに注意してください。
// 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 のプロパティー units は、プロパティー offset および period で使用される単位の種類を指定します。これらは、seconds または month に設定できます。プロパティー period はイベントの頻度を指定し、offset はその期間内の単位を指定します。上記の例では、2 番目のスケジュールの期間が 1 週に設定されていて、2 日目の 4:30 に開始します。プロパティー schedules には複数のスケジュールを定義できます。
この例のオブジェクト MySchedules では、次の 3 つのプロパティーが使用されています。
offset - これは、1970 年 1 月 1 日からの、スケジュールの開始オフセットです。このオフセットは、プロパティー「units」で定義された単位で表されます。
period - これはスケジュールが繰り返される期間であり、同様にプロパティー「units」で定義された単位で表されます。
units - これは秒数または月数で定義できます。
週次スケジュールの開始時点は木曜日です。これは、エポックの開始基準として定義されている 1970 年 1 月 1 日が木曜日だったからです。
使用例 4-12 CLI に表示されるワークフロースケジュール上記の例では、2 番目のスケジュールの期間で 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