Go to main content
Oracle® ZFS Storage Appliance 管理ガイド、Release OS8.7.0

印刷ビューの終了

更新: 2017 年 3 月
 
 

ワークフロースケジュールのコード化

スケジュールは、オブジェクトワークフローのプロパティーとして、ワークフローコードで指定することもできます。ここで使用されるプロパティーの構文は、CLI でスケジュールを作成する場合と異なります。ここでは 3 つのプロパティーが使用されます。

表 149  ワークフロースケジュールのプロパティー
プロパティー
タイプ
説明
offset
数値
定義された期間の開始時点を指定します
period
数値
スケジュールの頻度を定義します
unit
文字列
offset および period の定義で単位として秒と月のどちらを使用するかを指定します
使用例 29  ワークフロープロパティーの使用を示します

次のコード例は、プロパティーの使用方法を示しています。インライン演算を使用することで、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 日が木曜日だったからです。

使用例 30  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