Using a Scheduled Workflowの説明に従って CLI インタフェースを使用してスケジュールを定義する代わりに、オブジェクトワークフローのプロパティーとしてワークフローコードでスケジュールを定義できます。オブジェクトワークフローで使用されるプロパティーは、CLI のスケジュール作成で使用されるプロパティーとは異なります。
オブジェクトワークフローでは次のプロパティーが使用されます。
|
ワークフローにコード化されたスケジュールは、Using a Scheduled Workflowに示すように、ワークフローに対する適切な承認を持つ管理者によって変更できます。
使用例 22 ワークフロープロパティーの使用次のコード例は、プロパティーの使用方法を示しています。インライン演算を使用することで、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 - これは seconds または months で定義できます。
週次スケジュールの開始時点は木曜日です。これは、エポックの開始基準として定義されている 1970 年 1 月 1 日が木曜日であったからです。
使用例 23 CLI に表示されるワークフロースケジュール上記の例では、2 番目のスケジュールの期間で 2 日 4 時間 30 分の開始オフセットを使用します。このため、1970 年 1 月 3 日午前 4:30 が開始日になります。スケジュールは毎週土曜日の午前 4:30 に期限なしで繰り返されます。次に、CLI でのスケジュール表示を示します。
hostname:> maintenance workflows hostname:maintenance workflows> list WORKFLOW NAME OWNER SETID ORIGIN VERSION workflow-018 Check metaslab_unload_delay root false Oracle ZFSSA 1.0 workflow-019 Check metaslab_unload_timeout root false Oracle ZFSSA 1.0 workflow-020 Example 9 root true <local> 1.0 workflow-021 Set DNLC size and ncsize root false Data and App 2.0 workflow-022 Stop Existing SSH Sessions root false <local> 0.2 hostname: maintenance workflows> select name="Example 9" hostname: maintenance workflow-020> schedules hostname: maintenance workflow-020 schedules> ls Schedules: NAME FREQUENCY DAY HH:MM schedule-000 halfhour - --:00 schedule-001 week Saturday 04:30