Go to main content
Oracle® Solaris 11.3 でのシステムサービスの開発

印刷ビューの終了

更新: 2016 年 11 月
 
 

scheduled_method 要素の指定

scheduled_method 要素が存在する場合、サービスは定期的なリスタータに自動的に委任されます。scheduled_method 要素は、service 要素内または instance 要素内で指定できます。scheduled_method 要素は、スケジュールされているサービスのメソッド情報とスケジューリング情報の両方を指定します。periodic_method 要素に関しては、メソッド情報は scheduled_method 要素についても同じです。scheduled_method 要素には、このセクションで一覧表示されている属性を指定できます。interval 属性と exec 属性は必須です。

スケジュールされているサービスのスケジューリング制約の値を指定する場合、次の点に留意してください。

  • タスクをスケジュールするために必要な最小数のスケジューリング制約を指定します。interval 値より短い期間を表す制約は、インスタンスの起動メソッドを呼び出す期間中のタイミングをより正確に指定します。

  • もっとも長い時間を表す制約から、もっとも短い時間を表す制約までの、スケジューリング制約の連続したセットを指定します。たとえば、week_of_year 値のみは指定できても、day_of_month または day を指定しないかぎり、week_of_yearhour は指定できません。

  • frequency の値が 1 より大きい場合、interval 値と等しいかこの値よりも長い期間を表す制約を指定できます。これらの制約の使用方法の詳細は、スケジュールされているサービスの起動メソッド実行のスケジュールを参照してください。

スケジュールされているサービスのスケジューリング制約属性

interval

必須。値タイプ: astringfrequency の値に応じた、サービスの起動メソッドの呼び出し間における基本の時間の長さ。interval の値は、yearmonthweekdayday_of_monthhourminute のいずれかです。

frequency

オプション。値タイプ: count。デフォルト値: 1。定期的なリスタータによって起動メソッドが実行される前に発生する必要がある間隔の数。たとえば、intervalweek で、frequency4 の場合、起動メソッドは 4 週間ごとに呼び出されます。月によっては 5 週間あるため、「4 週間ごと」は毎月 4 週目とは異なります。

frequency の値が 1 より大きい場合、year から、interval 値と同じ長さの時間までのすべての制約を指定する必要があります。たとえば、intervalweek の場合、yearweek_of_year の値を指定する必要があります。例については、複数の間隔ごとに 1 回の呼び出しのスケジュールを参照してください。

timezone

オプション。値タイプ: astring。デフォルト値: システムのタイムゾーン。スケジュールの作成および解釈に使用するタイムゾーン。この属性を使用して、システムに対して構成されているタイムゾーン以外の、タイムゾーンに相対的なスケジュールを定義します。

year

値タイプ: count。グレゴリオ暦年。起動メソッドを呼び出す年。

week_of_year

値タイプ: integer。ISO 8601 の暦週日付における年の中の週の序数。有効な値は、1 - 53 および -1 - -53 です。負の数は、年の最終週より前の週数を指定します。52 週ある年では、-152 と同じで、53 週ある年では、-153 と同じです。53 または -53 を指定する場合、52 週のみある年では起動メソッドは実行されません。

week_of_year 属性と month 属性は同時に使用できません。

month

値タイプ: astring。グレゴリオ暦年の月。有効な値は、1 - 12-1 - -12、月の C ロケールの完全な名前、または月の名前の C ロケールの 3 文字の省略形です。負の数は、年の最終月より前の月数を指定します。C ロケールの名前では大文字と小文字は区別されません。

week_of_year 属性と month 属性は同時に使用できません。

day_of_month

値タイプ: integer。グレゴリオ暦月の日。有効な値は、1 - 31 および -1 - -31 です。負の数は、月の最終日より前の日数を指定します。たとえば、4 月に 31-1 のように、特定の月に存在しない日を指定した場合、起動メソッドはその月の最終日に実行されます。

day_of_month 属性と day 属性は同時に使用できません。

weekday_of_month

値タイプ: integer。指定した日 (day を参照) が発生する月の週の序数。有効な値は、1 - 5 および -1 - -5 です。負の数は、月の最終週より前の週数を指定します。たとえば、月に木曜日が 5 回ある場合、その月の第 3 木曜日 (3) は、月の最後から 2 番目の木曜日 (-2) とは異なります。5 または -1 を指定した場合、起動メソッドは、指定した day が 4 回のみある月では実行されません。

weekday_of_month を指定する場合は、day も指定する必要があります。

day

値タイプ: astring。ISO 8601 の標準の週の曜日。有効な値は、1 - 7-1 - -7、日の C ロケールの完全な名前、または日の名前の C ロケールの 3 文字の省略形です。負の数は、週の終わりより前の日数を指定します。C ロケールの名前では大文字と小文字は区別されません。

day_of_month 属性と day 属性は同時に使用できません。

hour

値タイプ: integer。ISO 8601 の標準の日の時間。有効な値は、0 - 23 および -1 - -24 です。負の数は、日の終わりより前の時間数を指定します。スケジュールされている日に、標準時間とサマータイムの間の切り替えが行われる場合、指定した時間はその日に 2 回発生するか、その日にはまったく発生しないことがあります。スケジュールされている日に指定した時間が複数回発生する場合、起動メソッドはその時間の最初の発生時にのみ実行されます。スケジュールされている日に指定した時間が発生しない場合、起動メソッドは次の時間に実行されます。

minute

値タイプ: integer。時間の分。有効な値は、0 - 59 および -1 - -60 です。負の数は、時間の終わりより前の分数を指定します。

その他のスケジュールされているサービスのスケジューリング属性

recover

オプション。値タイプ: boolean。デフォルト値: false。システムの停止時間中に呼び出しが失われた場合にインスタンスでリカバリを実行するかどうかを指定します。

recover 属性の値が true の場合、インスタンスがシステムの停止時間から回復したら可能なかぎりすぐに、定期的なリスタータはインスタンスの起動メソッドを呼び出します。後続の呼び出しは、指定されたスケジューリング制約に従って発生します。

recover プロパティーの値が false の場合、回復呼び出しは実行されません。呼び出しは、指定されたスケジューリング制約に従って続行されます。

スケジュールされているサービスの起動メソッドの属性とコンテキスト

exec

必須。値タイプ: astringexec システム呼び出しに渡すために適している必要がある、行うべきアクション。smf_method(5) のマニュアルページを参照してください。periodic_method 要素の指定の追加の説明を参照してください。

timeout_seconds

オプション。値タイプ: integer。起動メソッドのアクションが完了するまで待機する秒数。無限のタイムアウトを指定するには、値 0 または -1 を指定します。

exec_method 要素では timeout_seconds 属性値が必要です。この scheduled_method 要素で timeout_seconds 属性の値を指定しない場合、exec_method 要素の値は無限であると想定されます。指定された timeout_seconds 値より長く起動メソッドが実行される場合、または定期的なリスタータが次にスケジュールされている期間に起動メソッドを呼び出そうとしたときに契約済みプロセスがまだ存在する場合の起動メソッドのスケジューリングに関する説明については、起動メソッドの問題後のスケジュールを参照してください。

method_context 要素

オプション。smf_method(5) のマニュアルページのメソッドコンテキストに関するセクションを参照してください。