0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【OutSystems】Extentionのタイムアウト値はどこで設定できるか知ってる?

0
Posted at

●事象

CSV取込の一部の処理をExtentionで実装したが、数分でタイムアウトしてしまう。

PJで4000項目以上を横持ちしたCSVの取込機能要件があり、横持ち→縦持ちかつ8TBLの構造へマッピングというのが
Outsystemsの実装では性能的に重大な課題があったためExtentionでマッピングする機能を実装した。
しかし、いざ動かしてみると数分でタイムアウトになってしまう。。

●試したこと

①まずは常識であるモジュールのリクエストタイムアウト値を確認。
下記は例だが該当モジュールは20分以上で設定していることを確認できたので原因はここではない。

image.png

②HTTPRequestHandler>SetRequestTimeoutをアクションの前に設置してタイムアウト値を伸ばす

image.png

image.png

・・しかし事象解消せず。

image.png

●解決策

Extentionについてはモジュールのタイムアウト値などではなく、
FEサーバのIISの設定「IIS-Connection Timeoutの設定値」であるらしい。
【設定箇所】
FEサーバにリモートデスクトップで接続>インターネットインフォメーションサービス(IIS)マネージャー>サイト>右ペインの詳細設定
※セルフマネージド環境のみ変更可能。

image.png

デフォルト値は120秒のため、1200秒に変更するとExtentionが最後まで動いた。
詳細はわからないが、Extentionは拡張機能のためモジュールのタイムアウトやServiceCetnterといったOutsystems管理ではなく、より下位層のミドルやサーバの設定で管理ということなんでしょう。そうでしょう。

●ちなみに・・・

①、②はクライアント(PC)とサーバ間のタイムアウト値(だと思っている)

③DB接続の設定値は別にある
AggregateやAdvanced Quryのプロパティとして設定されている「Timeout」はFEサーバ→DBの通信のタイムアウト値(だと思っている)
複雑なクエリや大量データの取得・更新の場合はDB内の処理でタイムアウトするためこの値が重要。

image.png

●余談

飲み会ある日に限ってトラブル起きますね!!

image.png

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?