ホーム   フォーラム   FAQ
 
メインメニュー
ログイン
ユーザー名:

パスワード:


パスワード紛失

リッチでバッチがタイムアウト

  • このフォーラムに新しいトピックを立てることはできません
  • このフォーラムではゲスト投稿が禁止されています
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 .2 .3 .4 .5 .6 .7 .8 | 投稿日時 2014-7-8 14:54
y_ogawa  新米   投稿数: 16
リッチクライアントについて質問させてください。

現在、リッチで長いバッチ処理を実行する検証をしておりますが、
15分でタイムアウト(というより切断?)となってしまいます。

バッチは、複数のテーブルを参照しながらテーブルにデータを登録していくだけのもので、
検証用に処理時間を長くする目的で Delay(10) を1件書き込む毎に実行しています。
Delayを長めに設定してもやはり15分で切断されてしまいます。

エラーメッセーは
「転送先からデータを読み取れません。既存の接続はリモートホストに強制的に切断されました」
というものですが、それぞれのタイムアウトの設定を見直しても変化がありません。
(BrokerTimeout、RequesterTimeout、ServerTimeout、ContextInactivityTimeout)
IISのASPのセッションタイムアウトはデフォルトの20分のままです。


ここで質問なのですが、

(1)
この15分という時間はどこからのものなのでしょうか?どこかまだ見落としている箇所があるのでしょうか?

(2)
ドキュメントや他の方の書き込みで、タイマーイベントでダミータスクをコールしてあげることで
タイムアウトを回避できるとの情報があり、試そうとしましたが、そもそもバッチ処理中にタイマーイベントが発生してくれません。どのようにしてバッチ処理中にタイマーイベントを発生されるのでしょうか?
試したのは、長いバッチ処理を実行するタスクの親タスク(RCタスク)に記述しました。

(3)
バッチタスクを非インタラクティブのRCタスクに変更して実行する事で
このようなタイムアウトはなく正常に終了します。(1件毎にリクエストが発生してしまいますが)
回避方法としてこのような方法でよいのでしょうか?


あれこれと質問してしまって申し訳ございませんが
疑問点が多すぎて弱っております。
どうぞよろしくご教授ください。
投票数:0 平均点:0.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2014-7-8 15:47
Tanda  長老   投稿数: 2151
y_ogawaさん、こんにちは。

ちなみに、ContextInactivityTimeoutの値はどうなっていますか?
投票数:0 平均点:0.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2014-7-8 16:02
y_ogawa  新米   投稿数: 16
Tandaさんこんにちは。
レスありがとうございます。

ContextInactivityTimeoutの値ですが、当初はデフォルトの36000のままでした。
また、INIファイルのタイムアウトを見直す中で 0 にも設定しました。

結果としてどちらも15分での切断となります。
投票数:0 平均点:0.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2014-7-8 16:04
Tanda  長老   投稿数: 2151
y_ogawaさん

処理レコードの件数がDelay()関数等で変更になっても、やはり
15分という時間でタイムアウトしますか?
投票数:0 平均点:0.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2014-7-8 16:12
y_ogawa  新米   投稿数: 16
Tandaさん

作成するテーブルをクリア後、データを登録していくだけですので
処理レコードの件数は毎回同じです。

Delay()関数の数値を少し大きくし30分以上かかるようにしましたが
やはり15分でタイムアウトとなります。
投票数:0 平均点:0.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2014-7-8 17:15
Tanda  長老   投稿数: 2151
y_ogawaさん

ふと思ったのですが、ひょっとしてルータの設定が15分でタイム
アウトっていうことになってはいませんか?
投票数:1 平均点:10.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2014-7-8 17:22
ISHIJIMA  長老 居住地: 静岡県  投稿数: 1827
クライアントの画面からバッチをどのように実行していますか
投票数:0 平均点:0.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2014-7-8 17:37
y_ogawa  新米   投稿数: 16
Tandaさん

お付き合いいただきありがとうございます。

ルーターの設定との事ですが、確かに考えてもいませんでした。
こちらの環境としては、
拠点A(サーバー)と拠点B(クライアント)をVPNにて接続しているのですが、
拠点間の接続の設定を確認してみたところ、「TCP 接続無動作時タイムアウト (分)」という項目があり
15分に設定されていました!

双方のルーターの設定を変更し検証する必要があるので
ちょっと時間が掛かると思いますが、まずはこれを変更して検証してます。

「15分」という時間がどこからのものなのか、疑問に思っていましたが
解決できそうです。ありがとうございます。
投票数:0 平均点:0.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 .2 | 投稿日時 2014-7-8 19:20
y_ogawa  新米   投稿数: 16
ISHIJIMAさん

レスありがとうございます。
そして、私の前回の書き込みの際にISHIJIMAさんの書き込みに気づかず放置してしまっていました。
申し訳ございません。

クライアントの画面からどのようにバッチを実行しているか?との事ですが、

メインメニュー用PGからバッチ起動用のPGをコール(どちらもRCタスク)
バッチ起動用のPGはRCタスクで、ボタンクリックでバッチのサブタスクをコールして実行しています。

すみません。このような説明でよかったでしょうか?



Tandaさん

ご指摘いただきましたルーターの設定ですが、まさにそこだったようです!
「TCP 接続無動作時タイムアウト」を60分に設定して再度検証したところ
30分程度の処理にしてみたものも正常に完了いたしました!

IISとuniPaaS関連の設定は疑ったものの、ルーターは気づきませんでした・・・。


これで長いバッチ処理のタイムアウト回避は何とかなりそうです。
ずっと悩んでいた事なので、助かりました。そして気持ちもすっかりしました。

ありがとうございました。
投票数:0 平均点:0.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2014-7-8 19:24
Tanda  長老   投稿数: 2151
y_ogawaさん、解決してよかったですね。

行き詰ったときは、まったく視点を変えてみるというのも
いいかもしれませんね。頑張ってください。(^^)/
投票数:0 平均点:0.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2014-7-8 19:38
ISHIJIMA  長老 居住地: 静岡県  投稿数: 1827
解決してよかったですね

バッチをイベントでコールした場合はタイマーイベントが聞いたような気がしたので確認してみました。
関係なかったようですね
投票数:0 平均点:0.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2014-7-9 10:27
y_ogawa  新米   投稿数: 16
Tandaさん、ISHIJIMAさん

このたびはお知恵を拝借させていただきありがとうございました。
Magicの各ドキュメントとずっと睨めっこしておりました。
視点を変える、確かに必要ですね。

今後もこちらのフォーラムを参考にさせていただき
もしかしたらまた質問を投稿させていただく事もあると思いますが
どうぞよろしくお願い致します。
投票数:0 平均点:0.00

  条件検索へ


Copyright (C) Magic Software Japan K.K. All Rights Reserved.
個人情報保護方針 会員規約