0

処理に最大 2 時間かかる特定のユース ケースがあります。したがって、ユーザーがブラウザからリクエストを送信すると、ブラウザは応答が到着するのを待ち続けると理解していました。しかし、15〜20分後にエラーページが表示されます。

Web リクエストにそれほど時間がかからないことは理解していますが、既存のアーキテクチャと設計に固執しました。

この問題の解決策を提案できますか。

IE9をブラウザとして使用しています。サーバーとしてのTomcat。

4

2 に答える 2

0

ほとんどの場合、サーバーのタイムアウトは約 15 分であるため、15 分後にエラーが発生します。1 つの解決策は、サーバーのタイムアウトを増やすことです。しかし、2 時間に増やすと長すぎます。もう 1 つのオプションは、ブラウザからサーバーをポーリングして、タスクのステータスを確認することです。目的に ajax 呼び出しを使用できます。

于 2013-10-22T11:08:59.767 に答える
0

同様の問題に対してできることは、サーバー上に別のスレッドを作成し、ジョブが開始されたことを示す応答をユーザーに返すことです。

  • そのジョブの結果を特定のページに表示する (これは受け入れられる解決策のように思えます。ユーザーはおそらく、そのような長いタスクのために画面の前にとどまることはありません)
  • またはajaxを介してポーリングを行い、トリガーしたばかりのジョブのステータスを取得します。
于 2013-10-22T11:10:59.387 に答える