ジオプロセシング REST サービスのトラブルシューティング
次に示す手法のいずれか(複数も可)を使用して、ジオプロセシング サービスで最もよくある問題を見つけることができます。
- サービスでジオプロセシング メッセージを有効にし、タスクを再実行してそれらのメッセージを調べる。
- タスクを実行して arcgisjobs ディレクトリを検査する。
- 転送制限プロパティを超えていないことを確認する。
情報レベルのジオプロセシング メッセージの有効化
ジオプロセシング ツール メッセージには、ジオプロセシング タスクの実行に関する詳細な段階的説明が含まれます。これらのジオプロセシング メッセージは、障害発生時に、ジオプロセシング タスクの正確な障害点を特定するのに役立ちます。クライアントに送信されるジオプロセシング メッセージは、ジオプロセシング サービスのメッセージ レベル プロパティによって決まります。メッセージには、[なし]、[エラー]、[警告]、および [情報] の 4 つのレベルがあります。メッセージ レベルが [なし] に設定されると、ジオプロセシング タスクのタスク実行またはジョブの送信操作では、タスクの成功または失敗以外のジオプロセシング ツール メッセージは返されません。[情報] レベルでは、タスクによって生成されるすべてのジオプロセシング メッセージが示されます。トラブルシューティングにはこのレベルが推奨されます。ArcGIS Server Manager または ArcGIS for Desktop を介してジオプロセシング サービスの [メッセージ レベル] プロパティを [Info] レベルに設定すると、詳細なトラブルシューティングを実行できます。
メッセージ レベルを [情報] に設定した後でもジオプロセシング メッセージが受信されない場合は、無効な入力が行われたことを示しています。タスクの入力パラメータ値が、不正な形式であるか、不完全であるか、無効な JSON である可能性があります。入力パラメータのデータ タイプおよびそれらの JSON 値を確認してください。
arcgisjobs ディレクトリの検査
ジオプロセシング サービスのトラブルシューティングを行うもう 1 つの方法は、デバッグ用途での非同期実行モードの使用です。ジオプロセシング サービスの実行モード プロパティは、ArcGIS Server Manager または ArcGIS for Desktop を使用して編集できます。非同期実行モードでは、サーバは、そのクライアントによって送信されたジョブごとに一意のディレクトリを arcgisjobs ディレクトリ内に作成します。各ディレクトリには [scratch] フォルダが含まれ、このフォルダが、サーバで実行中のジオプロセシング ジョブ用のテンポラリ ワークスペースとして機能します。非同期ジョブによって生成された出力データ、中間(テンポラリ)データ、およびジオプロセシング メッセージは、このテンポラリ ワークスペースに書き込まれます。テンポラリ ワークスペース内のデータを調べて、タスク失敗の原因と考えられる問題を特定することができます。
arcgisjobs ディレクトリは、ジオプロセシング サービスの構成可能なプロパティであり、公開時または公開後に変更することができます。arcgisjobs ディレクトリへのデフォルトのパスは <サーバ ディレクトリ>\directories\arcgisjobs です。非同期ジョブのデフォルトのテンポラリ スペースは <ArcGIS ジョブ フォルダ>\<サーバ フォルダ(ある場合)>\<GP サービス名>\<ジョブ ID>\scratch になります。
サーバのテンポラリ ワークスペースのコンテンツ
- scratch フォルダ:[scratch] フォルダには、ツールの機能に応じて、シェープファイル、ラスタなどのファイルベースの出力データが含まれます。
- scratch.gdb:scratch.gdb ジオデータベースは [scratch] フォルダ内にあり、フィーチャクラスやジオデータベース ラスタなどの出力データセットはこのテンポラリ ジオデータベースに書き込まれます。
- messages.xml:message.xml ファイルは [scratch] フォルダ内にあり、ジオプロセシング タスクでログに記録されたすべてのジオプロセシング メッセージを保持します。この XML ファイル内のメッセージは、ジオプロセシング サービスの [メッセージ レベル] プロパティによって異なります。
[arcgisjobs] フォルダ内の scratch ディレクトリは、事前定義された間隔で、サーバのクリーンナップ ルーチンの一部として削除されます。クリーンナップの所要時間は、arcgisjobs ディレクトリの [ファイルの最大保存期間] プロパティによって決定されます。デフォルト値は 360 分ですが、この時間は、ArcGIS for Desktop または ArcGIS Server Manager の使用により、サーバ管理者が変更できます。
サーバは、タスクの実行中にモデルまたはスクリプトによって生成された中間データを [scratch] フォルダに書き込みます。ただし、中間データは実行終了時に削除されます。モデルまたはスクリプトの特定の中間データを調べたい場合は、モデルまたはスクリプトでそれらの中間データを出力パラメータに変換し、結果を新規作成してその結果をサービスとして公開します。この新しいサービスを実行して、新規出力データを確認します。
転送制限の超過
同期または非同期タスクが成功した場合でも、サーバによって返される出力フィーチャ セットまたはレコード セット パラメータにフィーチャやレコードが全く含まれていないことがあります。このような場合は、ArcGIS for Desktop または ArcGIS Server Manager を使用して、ジオプロセシング サービスの [サーバから返される最大レコード数] プロパティの値を増やす必要があります。ジオプロセシング タスクによって返される出力フィーチャおよびレコードの最大数は [サーバから返される最大レコード数] プロパティによって決定されます。このプロパティのデフォルト値は 1,000 個のレコードまたはフィーチャです。タスク出力のレコードまたはフィーチャの数が [サーバから返される最大レコード数] プロパティより多い場合は、ジオプロセシング タスクが成功した場合でも、そのタスクによってレコードまたはフィーチャは 1 つも返されません。