タスク・マネージャの使用
タスク・マネージャにアクセスするには、[システムオペレーション]→[タスク・マネージャ] に移動します。
ターミナルを使用してタスク・マネージャを操作することもできます ("^TASKMGR の使用" を参照)。タスクを管理するその他の方法については、"タスク" を参照してください。
タスク・マネージャは 60 秒ごとにポーリングして、実行するタスクがあるかどうかを確認します。[すぐに実行する] をクリックしてタスクをスケジュールすると、新しくスケジュールされたタスクが実際に実行されるまで最大で 60 秒の遅延が発生する場合があります。
新規タスク
[新規タスク] オプションを選択すると、[タスクスケジューラウィザード] が起動します。このツールでは、実行する新規タスクをスケジュールできます。
-
[タスクスケジューラウィザード] の最初のページには、新規タスクに関する以下の詳細情報が示されます。
-
タスク名
-
説明
-
[このタスクを実行するネームスペース] — タスクを実行する定義済みのネームスペースのリストから選択します。
-
[タスクタイプ] — リストされたタスクから選択します。使用可能なタスクの詳細は、以下の "タスク・タイプ" を参照してください。
Note:選択したタスクのタイプによっては、追加情報の指定に使用するフォームが表示される場合があります。例えば、IntegrityCheck をスケジュールしているときは、[ディレクトリ]、[ファイル名]、[KeepDays] (ファイルを保持する日数) の入力を求めるフォームが表示されます。
-
-
[タスクの優先度] — [優先度通常]、[優先度低]、または [優先度高] から選択します。優先度の詳細は、"優先度" を参照してください。
-
[このユーザでタスクを実行] — 定義済みのユーザのリストから選択します。現在ログイン中のユーザとは別のユーザを選択するには、%Admin_Secure:Use 特権を持つ必要があります。
Note:選択したユーザが無効な場合、タスクはそのユーザが有効になるまで一時停止され、手動で再開されます。これは組み込みのシステム・タスクには適用されません。組み込みのタスクは選択したユーザが無効でも実行されます。
各タスクは、選択された InterSystems IRIS® データ・プラットフォーム・ユーザ名に基づくライセンス・ユーザ ID でライセンス数を 1 つ消費します。詳細は、"ライセンス・ログインの特別な考慮事項" を参照してください。
-
[タスク実行時に出力ファイルを開く] および [出力ファイル] — タスクによって出力が生成された場合は、指定したディレクトリにログ・ファイルが書き込まれます。
-
[エラー時にタスクを一時停止]— エラー後にタスクを再スケジュールして実行を継続するか、タスクを一時停止するかを指定します。既定は [いいえ] です。エラー後にタスクを再スケジュールして実行します。
-
[システム再起動後にタスクを再スケジュール]— システムの再起動時 (タスクの実行を予定していたときにシステムがダウンした場合) に、タスクを再スケジュールするかどうかを以下のとおり指定します。
-
[いいえ] はシステムの再起動時にタスクを実行するように指定します。
-
[はい] はシステムの再起動後、タスクを次の論理時刻に実行するようにスケジュールの再設定を指定します。
-
-
[完了通知の送信先メールアドレス] — タスク・マネージャの電子メール設定を構成済みの場合 ("タスク・マネージャの電子メール設定の構成" を参照)、タスクが正常に終了した通知の送信先とする電子メール・アドレスのコンマ区切りリストを入力します。
-
[エラー通知の送信先メールアドレス] — タスク・マネージャの電子メール設定を構成済みの場合、タスクが失敗した通知の送信先とする電子メール・アドレスのコンマ区切りリストを入力します。
-
[ミラーにおけるタスクの実行方法] — このインスタンスがミラー・メンバの場合、タスクを実行できるメンバのタイプをしてします。
-
プライマリ・フェイルオーバー・メンバのみ
-
バックアップ・フェイルオーバー・メンバおよび非同期メンバのみ (プライマリを除くすべて)
-
すべてのミラー・メンバ (プライマリ、バックアップ、および非同期)
Important:ミラー・メンバで実行するタスクでは、このオプションをミラー・メンバのすべてのタスクに設定する必要があります。ミラー・メンバにインスタンスを追加することによって、ユーザ定義タスクでこのオプションが自動的に更新されることはありません。このため、以下のいずれかを行う必要があります。
-
インスタンスがミラーではない場合でもタスクの作成時にこの設定を定義し、インスタンスがミラーに追加される場合にそのタスクを実行できるようにします。
-
インスタンスがミラーに追加される場合は、必ずすべてのユーザ定義タスクを確認し、[ミラーにおけるタスクの実行方法] を設定します。
Note:バックアップがプライマリとしての引き継ぎ中など、フェイルオーバー・メンバの状態が移行中の場合は、タスク・マネージャはプライマリまたはバックアップとして状態が確立されるまでそのメンバでタスクを実行しません。
すべての必須フィールドに値を入力したら、[次へ] をクリックします。
-
-
[タスクスケジューラウィザード] の 2 ページ目で、新規タスクをいつ実行するかを指定します。オプションは、以下のとおりです。
-
[日次] — 日次間隔 (1 日おき、2 日おきなど)。
-
[週次] — 週次間隔 (特定の曜日に)。
-
[月次] — 月次間隔 (月の特定の日に)。
Note:選択した日が存在しない月の場合は、その月でその日に最も近い日が使用されます。
-
[月次 (曜日指定)] — 月次間隔 (指定された曜日に) (第 1 月曜日または第 3 水曜日など)。
-
[他のタスク完了後] — 指定したタスクの実行後。
-
[オンデマンド] — 手動実行時のみ。
[日次]、[週次]、[月次]、および [月次 (曜日指定)] フィールドでは、1 日の中でタスクを実行する時刻を指定できます。
-
[開始日] — スケジュールされたタスクを実行する最初の日。
-
[終了日] — スケジュールされたタスクを実行する最後の日。
-
[タスク実行詳細] — タスクが実行されるときの動作を、次のように指定します。
-
[この時刻に一度実行] — 指定された時刻に 1 回タスクを実行します。
-
[次の間隔で実行 ____] — 指定した時間範囲の間、指定した間隔でタスクを繰り返し実行します。
Note:何らかの理由でスケジュールされた時刻に実行し損ねた場合、既定では、すべての新規タスクが期限切れになります。この動作を変更するには、以下の "タスク期限切れ動作の変更" を参照してください。
-
すべての必須フィールドに値を入力したら、[完了] をクリックしてタスクをスケジュールします。
-
タスク・タイプ
このセクションでは、タスクの作成または編集時に選択できる、事前定義のタスク・タイプについて説明します。一部のタスクは、特定のネームスペースからのみ使用できます。
InterSystems IRIS には、既定で実行されるさまざまなタスクが含まれています。以下の表に、これらの既定値を示します。これらは、[タスクスケジュール] ページで編集できます。
%SYS.Task.DefinitionOpens in a new tab API を使用すると自分のタスク・タイプを定義できます。詳細は、"インターシステムズ・クラス・リファレンス" のクラス・ドキュメントを参照してください。
タスク・タイプ | 対応する既定のタスク | 説明 |
---|---|---|
CheckLoggingOpens in a new tab | [ロギングアクティビティチェック] — 夜間に実行されます。2 日後にアラートを送信します。 | ロギング・メカニズム (^ISCSOAP など) が意図せずに実行されたままになっていないことを確認します。DaysForAlert で指定した日数後にアラートを作成し、DaysForShutoff で指定した日数後にログを無効にします。 |
CumuIncrDBListOpens in a new tab | なし | 定義済みリストのデータベースの累積バックアップを実行します。 |
DiagnosticReportOpens in a new tab | [診断レポート] — オンデマンドで実行されます。 | 診断レポートを収集し、WRC へ配信します。 |
FullAllDatabasesOpens in a new tab | なし | すべてのデータベースのフル・バックアップを実行します。 |
FullDBListOpens in a new tab | なし | 定義済みリストのデータベースのフル・バックアップを実行します。 |
IncrementalDBListOpens in a new tab | なし | 定義済みリストのデータベースのインクリメンタル・バックアップを実行します。 |
IntegrityCheckOpens in a new tab | [整合性チェック] — 既定では無効になっています。 | ネームスペースのデータベースの整合性チェックを実行します。整合性チェック・タスクは、%SYS ネームスペースが選択されている場合にのみ表示されます。 |
InventoryScanOpens in a new tab | [インベントリスキャン] — オンデマンドで実行されます。 | インスタンスのインベントリ・スキャンをコンパイルします。 |
PurgeAuditOpens in a new tab | [監査データベースのパージ] — [ジャーナル切り替え] タスク後に実行されます。 | ジャーナル切り替えの指定時間後に監査データベースを削除します。 |
PurgeBackupLogOpens in a new tab | [バックアップログの削除] — 夜間に実行されます。 | データベース・バックアップから指定時間が経過した後にバックアップ・ログを削除します。 |
PurgeErrorsAndLogsOpens in a new tab | [エラーとログファイルを削除] — 夜間に実行されます。 | iris.cpf ファイルの設定に基づいて、エラー・グローバルと messages.log が削除されます ("構成パラメータ・ファイル・リファレンス" の "[Startup]" セクションで "ErrorPurge" と "MaxConsoleLogSize" のパラメータを参照してください)。 |
PurgeJournalOpens in a new tab | [ジャーナルファイル削除] — 夜間に実行されます。 | 削除条件と一致するジャーナル・ファイルを削除します。 |
PurgeTaskHistoryOpens in a new tab | [タスク削除] — 夜間に実行されます。 | タスク・マネージャの履歴ファイルを削除します。 |
RunLegacyTaskOpens in a new tab | なし | レガシー・タスクを実行します (独自のプログラム・タスクなど)。テキスト・ボックスに入力する行 (do ^MyCode など) は、ターミナルで実行可能である必要があります。
Note:
RunLegacyTask コードでローカル変数の Status を使用しないでください。InterSystems IRIS はこの変数を使用します。この変数が RunLegacyTask コードによって変更されている場合、タスクはエラー・ステータスで終了する可能性があります。 エラーのため完了できないレガシー・タスクには、[エラーのために一時停止しています] というマークが付けられます。このマークが付いたタスクは、エラーが修正されてユーザがタスクを再開するまで実行スケジュールに入れられません。 |
SecurityScanOpens in a new tab | [セキュリティスキャン] — 夜間に実行されます。 | 失効したユーザ・アカウントを無効化し、ユーザ・パスワードと Web セッション・トークンの失効を設定します。 |
SwitchJournalOpens in a new tab | [ジャーナル切り替え] — 夜間に実行されます。 | 新しいジャーナル・ファイルに切り替えます。 |
オンデマンドタスク
[オンデマンドタスク] ページ ([システム処理]→[タスク・マネージャ]→[オンデマンドタスク])には、必要に応じて実行するようにスケジュールされたタスクが一覧表示されます。このリストには、タスク名、説明、およびタスクをこのページから [実行] するオプションが含まれています。 列見出しをクリックすることにより、テーブルの情報を並べ替えることができます。[実行] をクリックすると、[タスクの実行ウィザード] ページにタスク名と ID、およびタスクを実行する日付と時刻が表示されます。情報を確認し、タスクをスケジュールするには、[すぐに実行する] をクリックします。
実行予定タスク
[実行予定タスク] ページ ([システムオペレーション]→[タスクマネージャ]→[実行予定タスク]) には、特定の間隔内に実行される予定のタスクが一覧表示されます。間隔を選択するには、タスク・リストの左にある [実行予定 :] 検索ペイン内のオプションをクリックします。[日付] オプションを選択した場合、日付は yyyy-mm-dd 形式で入力するか、またはカレンダー・アイコンをクリックしてカレンダーから日付を選択することができます。
列見出しをクリックすることにより、タスク・リストの情報を並べ替えることができます。各タスクのスケジュールは、[一時停止] または [再開] の各オプションを使用して、一時停止または再開できます。
-
[一時停止] — タスクを一時停止します。[タスク実行が一時停止された場合にタスクを再スケジュールしますか?] ドロップダウン・リストを使用して、以下のいずれかを指定します。
-
[いいえ]。タスクの再開の際、タスク・マネージャはそのタスクの見つからないインスタンスを実行してから通常のスケジュールに戻ることを試みます。
-
[はい]。タスクの再開の際、タスク・マネージャは見つからないインスタンスの実行を試みることなく通常のスケジュールに戻ります。
-
-
[再開] — 一時停止されたタスクを再開できます。
タスクスケジュール
[タスクスケジュール] ページ ([システム処理]→[タスク・マネージャ]→[タスクスケジュール]) には、予定されているすべてのタスクが一覧表示されます。 列見出しをクリックすることにより、テーブルの情報を並べ替えることができます。各オプションを使用して、[詳細] や [履歴] を表示したり、スケジュールされたタスクを [実行] できます。
-
[タスク名] — タスクに関する詳細を表示して、操作を実行できます。
-
[履歴] — タスクの履歴を表示します。
-
[実行] — タスクを実行できます。[タスクの実行] ウィザードには、タスク名と ID、およびタスクを実行する日付と時刻が表示されます。情報を確認し、タスクをスケジュールするには、[すぐに実行する] をクリックします。
タスクの詳細
予定されているタスクの詳細を表示し、操作のいずれかを実行するには、[タスク名] 列のタスク名をクリックします。[タスク詳細] ページには、選択したタスクの情報と実行詳細が表示されます。以下の適切なボタンをクリックして、タスクで以下の操作のいずれかを実行できます。
-
[編集] — [タスクスケジューラウィザード] を使用してタスク定義とスケジュールを変更します。
-
[履歴] — タスクの履歴を表示します。
-
[再開]/[一時停止] — [実行予定タスク] ページと同様に、タスクを一時停止したり、一時停止されているタスクを再開します。
-
[削除] — タスクを永久に削除します。
Note:システム・タスクは削除できません。
-
[エクスポート] — タスクをファイルにエクスポートします。その後、別の InterSystems IRIS インスタンスなどにより、そのファイルをインポートできます。
-
[実行] — タスクをスケジュールします。[実行] をクリックすると、[タスクの実行ウィザード] ページにタスク名と ID、およびタスクを実行する日付と時刻が表示されます。情報を確認し、タスクをスケジュールするには、[すぐに実行する] をクリックします。
ここで説明したアクションには、タスクの実行中には使用できないものもあります。
スケジュールされたタスクの履歴
スケジュールされた個別のタスクの履歴情報を表示するには、項目の行にある [履歴] リンクをクリックします。[タスク履歴] ページには、選択したタスクの詳細履歴が表示されます。 [結果] 列は、最後にタスクが実行されたときの結果を [成功] またはエラー・メッセージで示します。列見出しをクリックすることにより、テーブルの情報を並べ替えることができます。
ページ上部の [詳細] リンクには、選択したタスクに対応する [タスク詳細] ページが表示されます。
タスク履歴
[タスク履歴] ページ ([システム処理]→[タスク・マネージャ]→[タスク履歴]) には、タスク・マネージャによって実行されたすべてのタスクの履歴が表示されます。
列見出しをクリックすることにより、テーブルの情報を並べ替えることができます。システム・タスクをフィルタで除外するには、テーブルの上部にある [ユーザ定義のタスクのみ表示] チェック・ボックスにチェックを付けます。
タスクのインポート
[タスクのインポート] ページ ([システム処理]→[タスク・マネージャ]→[タスクのインポート]) により、タスクのインポートと実行ができます。そのためには、以前にエクスポートしたタスク・ファイルを参照してから、[すぐに実行する] をクリックします。タスクをファイルにエクスポートする方法の詳細は、このセクションの "タスクの詳細" を参照してください。
同じバージョンの InterSystems IRIS を実行しているタスク間でのみタスクをインポートでき、またエクスポートできます。
^TASKMGR の使用
^TASKMGR ルーチンでは、ターミナルを使用してタスク・マネージャを構成できます。特に明記されていない限り、^TASKMGR と管理ポータルには、タスクを構成するための同じオプションが含まれています。どちらを使用するかは、好みの問題です。
^TASKMGR を使用するには、以下の手順を実行します。
-
ターミナルを開きます。
-
set $namespace = "%SYS" と入力して、%SYS ネームスペースに変更します。
-
do ^TASKMGR と入力します。
プログラムでタスクをスケジュールまたは編集する方法の詳細は、"インターシステムズ・クラス・リファレンス" の %SYS.TaskOpens in a new tab クラスのドキュメントを参照してください。
タスク期限切れ動作の変更
既定では、すべてのタスクは、スケジュールされた時刻に実行し損ねた場合、期限切れになるように構成されます。これは、スケジュールされた時間内に InterSystems IRIS がダウンした場合や、前のタスクの実行が次のスケジュール時間まで延長された場合など、さまざまな理由によって発生します。タスクは、期限切れになると、次のスケジュール時間まで実行されません。
^TASKMGR ルーチンには、スケジュールされた実行がスキップされないように、この動作を変更するオプションがあります (管理ポータルにはありません)。そのためには、以下の操作を実行します。
-
ターミナルを開きます。
-
set $namespace = "%SYS" と入力して、%SYS ネームスペースに変更します。
-
do ^TASKMGR と入力します。
-
オプション 2 を選択します。
-
編集するタスク番号を入力します。
-
Task Expires? に到達するまで、Enter キーを押して各オプションの既定値を保持します。
-
No と入力します。
または、タスクを実行し損ねた後、タスクが直ちに期限切れにならないように、猶予期間を指定することもできます。代わりに、タスク・マネージャが、実行し損ねたタスクをできる限り速やかに実行します。特定のタスクの有効期限が切れる、この猶予期間を調整するには、以下の操作を実行します。
-
ターミナルを開きます。
-
set $namespace = "%SYS" と入力して、%SYS ネームスペースに変更します。
-
do ^TASKMGR と入力します。
-
オプション 2 を選択します。
-
編集するタスク番号を入力します。
-
Task Expires? に到達するまで、Enter キーを押して各オプションの既定値を保持します。
-
Yes と入力します。
-
Expires in how many days? というプロンプトが表示されたら、タスクの期限が切れるまでの日数を入力します。
-
Expires in how many hours? というプロンプトが表示されたら、タスクの期限が切れるまでの時間数を入力します。
-
Expires in how many minutes? というプロンプトが表示されたら、タスクの期限が切れるまでの分数を入力します。
カスタム・タスク
カスタム・タスクを定義するには、%SYS.Task.DefinitionOpens in a new tab のサブクラスを定義します。このサブクラスに、必要な処理を実行して %StatusOpens in a new tab を返す OnTask() メソッドを実装します。
このタスクを実行するための特定の特権を必要とすることができます。そのためには、このクラスに RESOURCE クラス・パラメータを指定します。値は、resource:permission の形式で指定します。以下に例を示します。
Parameter RESOURCE As String = "%Admin_Manage:USE";
追加情報は、クラス・リファレンスを参照してください。
このクラスは、コンパイルすると、このページの説明に従ってタスク・マネージャのスケジュールに追加できます。そこでは、ユーザ・タスクとして (システム・タスクではなく) リストされます。