JusticeBrain  ~jusys2-13bpowerの日記~

私の思考。感じたことを思いのままに。荒いですが効果てきな文章をどんどん出せるようがんばります。システムエンジニア SEの考え方!成長する手段を簡単に!リーダーマネージメントについての記事。また、人の言葉や、なんでも関数シリーズやおすすめドラマ 多岐にわたって私のすべてをさらけ出していければいいと思います。よかったら、アマゾンクリックして!いいものがあったら買っちゃおう! よくなかったら買うのはやめよう!

Outsystems 備忘録 DBアクセス タイムアウト

タイムアウトの仕組み - OutSystems サポート

参照部分はSQLクエリのタイムアウト

昨日いろいろ長く勘違いしていることがわかった。
データベースのアクセスで
Error executing queryがでるのは拡張SQLだけだとおもっていたが、
Aggregateでも出るパターンがあった。

Error executing queryが出るパターンでは、SQLコーディングミスによる
SQLエラーの場合見る機会がおおいので、
えっAggregateでもでるの?コーディングミスしようがないじゃんとおもっていたが、
タイムアウトの制御があるのは何となくわかっていたが、
あまり関係する機会がなかったのでタイムアウトとError executing queryが関連性があるとはしらず調べていなかったら、よい記事を見つけた。

Outsystemsが導入されたサーバにて、ツールを起動し
タイムアウト時間を設定できることがわかった。
デフォルトは30秒でレスポンスが返ってくるまでの時間で
1秒単位で設定できる、変更を反映する際は、内部的にリパブリッシュしているのか
10分程度時間がかかるようだ。

ここを調整して、特にAggregateで実装したものはこれで改善できる
Aggregateの場合は、基本実装がシンプルなので実装で改善する場合は、
業務仕様の見直し、最適化しかありえない。
ただ、一般的なSQLコーディングの場合は、通ればいいやで、非効率な実装となる場合があるため、SQLの見直しが最優先だが、きれいなSQLがコーディングされている場合は、こちらの対応で対応できるかも。

ただ、参照SQLの戻り時間を長くすることで、
バッチなどは安定して動作することになるが、
画面系も同じ設定となった場合、仮に重い検索をした場合、
デフォルトで30秒でおちるものの、バッチのために10分していた場合、
10分間反応がないようになる可能性があるので、
バッチと画面が独立したサーバならそれぞれ設定して、
共存環境なら、バランスをとった設定するとよい。

まだ、お試し中なので結果がでたらあらためて追記します