●事象
CSV取込の一部の処理をExtentionで実装したが、数分でタイムアウトしてしまう。
PJで4000項目以上を横持ちしたCSVの取込機能要件があり、横持ち→縦持ちかつ8TBLの構造へマッピングというのが
Outsystemsの実装では性能的に重大な課題があったためExtentionでマッピングする機能を実装した。
しかし、いざ動かしてみると数分でタイムアウトになってしまう。。
●試したこと
①まずは常識であるモジュールのリクエストタイムアウト値を確認。
下記は例だが該当モジュールは20分以上で設定していることを確認できたので原因はここではない。
②HTTPRequestHandler>SetRequestTimeoutをアクションの前に設置してタイムアウト値を伸ばす
・・しかし事象解消せず。
●解決策
Extentionについてはモジュールのタイムアウト値などではなく、
FEサーバのIISの設定「IIS-Connection Timeoutの設定値」であるらしい。
【設定箇所】
FEサーバにリモートデスクトップで接続>インターネットインフォメーションサービス(IIS)マネージャー>サイト>右ペインの詳細設定
※セルフマネージド環境のみ変更可能。
デフォルト値は120秒のため、1200秒に変更するとExtentionが最後まで動いた。
詳細はわからないが、Extentionは拡張機能のためモジュールのタイムアウトやServiceCetnterといったOutsystems管理ではなく、より下位層のミドルやサーバの設定で管理ということなんでしょう。そうでしょう。
●ちなみに・・・
①、②はクライアント(PC)とサーバ間のタイムアウト値(だと思っている)
③DB接続の設定値は別にある
AggregateやAdvanced Quryのプロパティとして設定されている「Timeout」はFEサーバ→DBの通信のタイムアウト値(だと思っている)
複雑なクエリや大量データの取得・更新の場合はDB内の処理でタイムアウトするためこの値が重要。
●余談
飲み会ある日に限ってトラブル起きますね!!






