ArcGIS Notebook Serverでは、スケジュール設定されたノートブックによる自動化、Webhook による自動化、ノートブックの実行管理 API を使用した独自のカスタム スクリプトによる自動化など、ワークフロー自動化の複数の方法を実装できます。
注意:
スケジュール設定されたタスク、Webhook、またはノートブックの実行 API を使用してノートブックを自動化するには、ノートブックがバージョン 3.0 以降のランタイムを使用する必要があります。
ノートブック タスクのスケジュール設定
ノートブック作成者は、今後の特定の時間に一度または定期的に自動的に実行されるように ArcGIS Notebooks をスケジュール設定することができます。 タスクを作成してノートブックのスケジュールを設定すると、日常的なワークフローを自動化し、ピーク以外の利用時間中に多くのデータを扱うプロセスを実行して、データセットを定期的に更新できます。 たとえば、次のような処理を実行するノートブックをスケジュール設定できます。
- 毎月更新されるオンライン ソースからデータをインポートし、データを自動的に削除して必要な変換を適用し、データをワークスペースに移動
- コンピューターのリソースが使用されていない夜間に、多くの処理能力を必要とするビッグ データ解析ワークフローを実行
- 過去 1 週間にポータルでアカウントを作成したユーザーを管理し、そのリストをメールで送信
ノートブックには 1 つ以上のタスクを作成できます。 デフォルトでは、ノートブック作成者または管理者は最大 20 のタスクを作成できます。 ノートブックの所有者が変更されると、そのノートブックに関連付けられているすべてのタスクが非アクティブになり、新しい所有者に割り当てられます。
スケジュール設定されたタスクでは、ノートブックをパラメーター化できます。 ノートブックがパラメーター化されると、何も操作せずにさまざまな入力に適応させることができる汎用コードを記述できます。 タスクが実行される際、選択されたパラメーターがノートブックに挿入されます。これらのパラメーターは、必要に応じてノートブックに保存できます。 たとえば、パラメーター化されたノートブックを使用して、地域全体の大気汚染のレポートを定期的に生成できます。 ノートブックは、スケジュール設定されたタスクを複数 (調査対象の地域ごとに 1 つ) 持つことができます。そして、タスクごとに、都市名や汚染の種類などのパラメーター化された入力をノートブックに取り込むことができます。
注意:
同時に実行されるノートブック タスクの数は、Notebook Server の maxExecuteNotebookContainersPerNode システム プロパティによって制限されます。
タスクの完了後にノートブックの状態を元のノートブック アイテムに保存するようタスクを構成できます。
ノートブックの静的な HTML ビューが、実行済みのスケジュール設定されたタスクごとに保存されます。
管理者は、ArcGIS Notebook Server ホーム ページの [タスクの管理] ウィンドウ、または ArcGIS Notebook Server Manager の [タスク] ページを使用して、詳細を表示し、サイト内のアクティブなノートブック タスクを編集、一時停止、再開、または削除することができます。 ノートブックのスケジュール設定権限を持つ管理者とノートブック作成者は、ノートブックの詳細ページまたはノートブック エディターのタスク ウィンドウで、詳細を表示し、ノートブック タスクを編集、一時停止および再開、または削除できます。
タスクの以前の実行がまだ続いている場合、スケジュール設定された新しいタスクの実行はスキップされます。 たとえば、タスクが 15 分おきに実行されるようにスケジュール設定されているが、そのタスクのインスタンスが 20 分間実行される場合、スケジュール設定された次の実行はスキップされます。 このような状況が定期的に発生する場合、タスクの所有者は、スケジュール設定された時間間隔を調整して、実行間のオーバーラップがなくなるようにする必要があります。
スケジュール設定されたノートブック タスクの詳細については、ヘルプ トピック「ノートブックのタスクのスケジュール設定」をご参照ください。
スケジュール タスクの制限
スケジュール設定されたノートブック タスクには、特定のユーザー、組織、および ArcGIS Notebook Server サイト (コンピューター) レベルの制限があります。
自動化されたノートブックの最大同時実行 (maxExecuteNotebookContainersPerNode) の変更
スケジュール設定されたタスク、Webhook、またはノートブックの実行 API を使用してノートブックを実行すると、ArcGIS Notebook Server で、自動的に新しいコンテナーが開き、ノートブックが実行されます。この場合に、ユーザーの操作は必要ありません。 デフォルトでは、ArcGIS Notebook Server は、Notebook Server コンピューターごとに最大 10 の同時ノートブック実行を実現するように構成されています。 Notebook Server サイトの各コンピューター上で使用可能なリソース (CPU および RAM) を考慮して、管理者は Notebook Server の maxExecuteNotebookContainersPerNode システム プロパティを変更することによりこの制限を調整できます。 この制限を超えた後に送信された、自動化されたノートブックのリクエストは、キューに追加され、自動化されたタスクの実行数がこの制限を下回ると実行されます。 キュー内のタスクは、待ち時間がタイムアウトの時間を超えた場合、失敗します。
注意:
これによって、ノートブック エディターから対話的に実行されるノートブックの数が制限されることはありません。
maxExecuteNotebookContainersPerNode の制限は、次の手順で変更できます。
注意:
制限を増やすと、Notebook Server コンピューターで使用されるリソースが増える可能性があります。
- 管理者として ArcGIS Enterprise ポータルにサイン インします。
- ArcGIS Notebook Server Manager を開きます。
- [設定] > [サイト] の順にクリックします。
- maxExecuteNotebookContainersPerNode プロパティの値を変更します。
- [保存] の順にクリックします。
- Notebook Server の再起動に関する警告を確認し、[保存して再起動] をクリックして変更を保存します。
ノートブックのアクティブなスケジュール タスクのユーザーあたりの最大数
ノートブックのスケジュール設定権限を持つ各ノートブック作成者は、アクティブなノートブック タスクを最大 20 個作成できます。 この制限に達すると、ユーザーは新しいスケジュール タスクを作成できなくなります。 既存タスクの状態がアクティブから完了、失敗、または非アクティブになると、新しいタスクを作成できます。 この制限を変更するには、ArcGIS Portal Administrator API のシステム制限の更新操作により ExecuteNotebooksUserLimit プロパティを更新します。
ノートブックのアクティブなスケジュール タスクの組織あたりの最大数
ノートブックのアクティブなスケジュール タスクの、組織あたりの最大数は 200 です。 この制限は、組織全体のすべてのユーザーが所有できるアクティブなタスクの合計数を表します。 この制限に達すると、ユーザーはノートブックの新しいスケジュール タスクを作成できなくなります。 この制限を変更するには、ArcGIS Portal Administrator API の ExecuteNotebooksOrgLimit システム制限の更新操作を更新します。
スケジュール タスクについてレポートされた結果の数
タスクの結果がレポートされ、30 回実行される間保持されます。 直近の 30 回の実行より前に実行されたタスクは、完全に削除されます。 この制限を変更するには、ArcGIS Portal Administrator API のシステム制限の更新操作により TaskRunHistoryCount プロパティを更新します。
タスクの自動的な失敗
連続 5 回失敗したタスクは、自動的に失敗状態に切り替わり、実行されなくなります。 タスクの所有者は、タスクを再度アクティブにする前に、ユーザーの操作なしでノートブックを正常に実行できることを確認する必要があります。 タスクの実行を確実に継続するには、タスクの所有者は、失敗を特定して修正し、タスクをアクティブ状態に変更する必要があります。 この制限を変更するには、ArcGIS Portal Administrator API のシステム制限の更新操作により FailedRunsDisableTask プロパティを更新します。
ノートブックの実行 API
管理者およびノートブック作成者は ArcGIS Notebook Server Administrator Directory のノートブックの実行操作を使用して、ユーザーが操作することなく実行するようノートブックを自動化することもできます。 この操作が呼び出されるとノートブックが自動的に実行されますが、カスタム スクリプトを使用して、所定の時間または定期的にノートブックが自動的に実行されるようにスケジュール設定することもできます。 cron ジョブまたは Windows スケジューラーを使用して、所定の時間または定期的にノートブックの実行操作が行われるようにスケジュール設定することもできます。
詳細については、Administrator Directory リファレンス ガイドの「ノートブックの実行」の操作トピックをご参照ください。