NoTimeOut指示子


バッチ処理等、処理に時間がかかりブラウザがタイムアウトしてしまう場合など、本指示子を用いて、タイムアウトを回避することが可能です。
通常の処理は、ブラウザからのリクエストをCGIが受付をし、処理完了後、ブラウザに回答を返します。
一定時間以上(たとえば300秒など)の処理時間がかかった場合、HTTPサーバはCGIを強制終了し
タイムアウトしてしまいます。以下が例となります。

通常の処理

2)の処理にてHTTPサーバはCGIを起動して、CGIの返答を待つ。すなわち、5)の返答処理がHTTPタイムアウト時間内までに発生しなければなりません。
タイムアウトした場合は、クライアントは、回答を受け取ることができません。

NoTimeOut指示子による回避処理

NoTimeOut指示子による動作は、以下の2状態あります。

通常の処理と違い、Xcuteの返答を待たずに、CGIはHTTPサーバに返答を返しています。
XCuteの処理が終わっていないので、CGIの返答は処理中といった返答となります。


最初にリクエストを投入し、設定したジョブ完了確認周期にあわせてチェックを繰り返します。

書式
NoTimeOut=ジョブ完了確認周期(秒)

ジョブ完了確認周期は、ジョブ完了確認状態を何秒ごとに繰り返すかの周期です。
小さい値(1秒など)にすることで、Xcute側の処理が完了したときに1秒以内で回答を得られますが、長時間掛かる処理において極端に小さな値を設定することはサーバの負荷を高めることにりますので、目安としては処理にかかる時間の1/10程度に設定してください。

適用位置
送信クエリ(URL)に含めます、以下のようにリンクに挿入するか、タグを差し込みで送信フォームに含めます

リンクの例
procgi.exe?P=aaaa&WriteSheet=aaa&NoTimeOut=10

フォームの例
<input type='hidden' name='NoTimeOut' Value='10'>

利用可能バージョン
XCute Ver11.4.0以降