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