ユーザーがサーバー上で AI アルゴリズムをリモートで実行して、ソリューションの待ち時間を短縮できる Web アプリケーションを開発しています。ここに概要があります。
Browser -> jQuery AJAX -> Apache2 proxy -> tomcat7 -> RESTful java -> Runtime.getRuntime().exec() -> command-line C algorithm
安らかなサービスは AJAX 応答を介して必要な情報を返し、ブラウザーで何らかの処理が行われます。
これは、私がテストしたほとんどのアルゴリズムでうまく機能します。ただし、一部のアルゴリズムは、非常に長時間実行するとタイムアウトになります。ライブ ステータス アップデートが実装されているため、アルゴリズムは引き続き実行され、ブラウザーで常に出力が生成されますが、5 分ほど後に 500 Internal Server Error が発生します。
コマンド ラインからアルゴリズム プロセスを強制終了しても、500 Internal Server Error が発生します。
コマンドラインからアルゴリズムを直接実行すると、適切に実行されます。
1 時間スリープする安らかなメソッドに AJAX 呼び出しを送信すると、503 (Service Temporarily Unavailable) エラーが発生します。
これの原因は他に何が考えられますか?私はしばらくの間トラブルシューティングを行ってきましたが、現時点ではすべてのアイデアがありません.
ご協力いただきありがとうございます!
- 編集 -
問題を効率的に解決する回避策を開発しましたが、他の人の考えを知りたいです。長期にわたる AJAX 呼び出しを排除し、代替ステータス ファイルを介してアルゴリズムのステータスをチェックする繰り返し呼び出しに置き換えると、実行時間の長いプロセスで機能します。
しかし、タイムアウトしないように指定された AJAX 呼び出しで以前に問題が発生したのはなぜでしょうか..?