問題タブ [timeout]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - C#: タイムアウト付きの URL のダウンロード
.NET でそれを行う最善の方法は何ですか? 私はいつも必要なものを忘れていますDispose()
(または でラップしusing
ます)。
編集: を長い間使用した後、WebRequest
カスタマイズについて知りましたWebClient
。ずっといい。
c# - C# ジェネリック タイムアウトを実装する
単一行のコード (または匿名デリゲート) をタイムアウト付きで実行する一般的な方法を実装するための良いアイデアを探しています。
コードが気まぐれなコード (変更できない) とやり取りする多くの場所でエレガントに実装できるソリューションを探しています。
さらに、可能であれば、問題のある「タイムアウト」コードの実行を停止したいと考えています。
c# - Transaction Binding=Explicit Unbind を使用すると、接続は閉じません。接続文字列で
タイムアウト付きの TransactionScope も使用しているため、ここでTransaction Binding=Explicit Unbind
推奨されているように接続文字列で使用しています。問題は、接続が破棄された後に閉じられないように見え、最終的に接続プールで使用可能な接続がなくなることです。TransactionTimeoutIssueDemo (リンクを参照) を変更し、TransactionScopeTest() (明示的なアンバインド接続文字列を使用) をループで十分な回数実行して、接続プール内の使用可能なすべての接続を使い切っても、同じ結果が得られました。プール内の接続のデフォルト値は 100 ですが、これはたとえば設定を使用して変更できます。SqlConnection と TransactionScope の両方が使用されているにもかかわらず、明示的なバインド解除を使用すると、接続が解放されないようです。Max Pool Size =10
using
句。誰でもこれを処理する方法を知っていますか?
jquery - タイムアウトjQuery効果
要素をフェードインさせようとしていますが、5000ミリ秒で再びフェードアウトします。私は次のようなことができることを知っています:
しかし、それはフェードアウトを制御するだけです、私はコールバックに上記を追加しますか?
oracle - ネットワークの停止により、DB リンクを介したストアド プロシージャのクエリが永久にハングする
私がサポートする多くのストアド プロシージャは、WAN 経由でリモート データベースにクエリを実行します。ネットワークはときどきダウンしますが、これまでに起こった最悪の事態は、手順が失敗し、再起動する必要があったことです。
ここ数週間、不吉な方向に進んでいます。手順が失敗する代わりに、奇妙なロック状態でハングします。これらは Oracle 内で強制終了することはできず、それらが存在する限り、プロシージャの他のコピーを実行しようとするとハングします。私たちが見つけた唯一の解決策は、OS からの「kill -9」で問題のあるプロシージャを強制終了することです。これらの手順の一部は、数か月、さらには数年も変更されていないため、DB または DB 構成に根本的な原因があると思われます。
問題を解決するために私たちができることについて何か考えがある人はいますか? または、PL/SQL には、プログラムで処理できる例外を作成できるように、コードに追加できるタイムアウト メカニズムがありますか?
multithreading - 複数のスレッドと接続プールを使用する場合の接続タイムアウトを回避する
読み取り専用データベース操作を複数のチャンクに分割しています (それぞれが非常に大量のデータのサブセットを読み取り、それを分析し、結果をディスク ファイルに書き込みます)。
各チャンクは、(デリゲートと BeginInvoke を使用して) 新しい .net スレッドで (データテーブルへの) Select を実行します。
プール内の使用可能な接続よりも多くのデータのサブセットがあるため、接続が不足すると、最初の接続が解放される前に、後続の接続要求がキューに入れられます...接続タイムアウトが期限切れになるまで、タイムアウト例外。
A) プール内の接続がすべて使用中の場合にタイムアウト接続の例外を禁止する方法、または B) 別の接続を要求する前にそれらがすべて使用中であることを検出して、要求する前に接続が使用可能になるまで待機できるようにする方法?
python - Python、Popen、select-プロセスの終了またはタイムアウトを待機中
私は以下を使用してサブプロセスを実行します:
このサブプロセスは、stderrでエラーが発生してすぐに終了するか、実行を継続する可能性があります。これらの状態のいずれかを検出したい-後者は数秒待つことによって。
私はこれを試しました:
しかし、それはただ戻ります:
どちらの条件でも。私に何ができる?
.net - JavaクライアントでUnsupportedMediaExceptionが発生する.NETWebサービスのタイムアウトを修正するにはどうすればよいですか?
現在、使用して設定したリクエストでタイムアウトが発生する.netSOAPWebサービスがあります
次に、Javaクライアントが上記のWebサービスを呼び出します。ただし、タイムアウトに達すると、次の例外が発生します。
何が起こっているのかというと、Webサービスがhttpタイムアウトコード(503だと思いますか?)を含むhtmlエラーページを返しますが、これは私のJavaコード(WSDLimportを使用して生成)では予期されていません。
これで、クライアントでUnsupportedMediaExceptionエラーをキャッチし、それをより意味のあるものに変換しようと試みることができましたが、Webサービス側でより具体的なタイムアウト例外を送信したいと思います。とにかく、タイムアウトが発生したときに、より適切な例外を送信するための.net Webサービス、またはこの状況をより適切に処理する他の方法はありますか?
編集:
Glassfish2ディストリビューションのWSDLImportを使用しています。
.net - ADO.NET を使用したデータベース接続の管理
ADO.NET 上に構築されたアプリケーションがあります。接続プールを利用できるいくつかの簡単なベスト プラクティスに従います。たとえば、データベースを使用するコード ブロックは次のようになります。
FWIW、GetDatabaseConnection について特別なことは何もありません。MSSQL Server 2000 を実行しているデータベースとの接続を確立します。実際には、次のように表示されます。
そのため、接続はブロック スコープの最後で破棄されます。しかし、アプリケーションのテストを開始したときに、ちょっとした問題が発生しました。私たちのアプリケーションは非常にバースト性があることがわかりました。つまり、非常におしゃべりになり、しばらく沈黙することがあります。その結果、接続を取得するために複数のスレッドを同時に起動できます。
10 個のスレッドがあるとします。作業のバッチ (作業のバッチを言い換えないでください) が到着し、いくつかのスレッドに分割されます。その後、各スレッドは接続を取得しようとしますが、私は InvalidOperationException に遭遇します。ConnectTimeout を調整しましたが、例外のバーストが発生するまで時間を延ばすだけです。「ワインドアップ」フェーズを過ぎると、アプリケーションは問題ありません。その後、再び静止し、接続が「なくなり」、プロセスが再び開始されます。
LoadBalanceTimeout の調整も試みましたが、引き続き例外が発生します。以前にこの問題を見たことがありますか? どんな考えでも...私は自分のいくつかを捨てます。
- 一部の接続を継続的に「ホット」に保つ
- 試行回数まで、接続を再度開くことを試みます
- 独自の接続プーリングを実装します (車輪の再発明には興味がありません)。
編集:
私が読んだほとんどのフォーラムでは、接続プールのサイズを大きくすることを思いとどまらせていました。デフォルトでは、接続プールには 50 接続の上限があります (これで十分です。増やす必要がある場合は、他の場所で何かが根本的に間違っています)。私が気付いたのは、ConnectTimeout が低い場合に InvalidOperationException が発生することです。接続のスピンアップが長すぎて、保留中の接続がすべてタイムアウトしたかのようです。
MARS は確かにオプションです... InvalidOperationException.Message のテキストは次のとおりです。
タイムアウトになりました。プールから接続を取得する前に、タイムアウト期間が経過しました。これは、プールされたすべての接続が使用中で、最大プール サイズに達したために発生した可能性があります。
sql - 閉じていない接続を見つける方法は? タイムアウトになりました。操作が完了する前にタイムアウト期間が経過したか、サーバーが応答していません
以前にこの問題が発生したことがありますが、基本的に接続が十分に速く閉じられていないことがわかりました (接続を開いたままにしてガベージコレクションを待つことは、実際にはベストプラクティスではありません)。
今、私は再びそれを取得していますが、接続を開いたままにしている場所を見つけることができないようです. その時までに、データベースが古い接続をクリアしたというエラーが表示されるため、最後のコマンドでロックされたすべての接続が表示されません (前回この問題が発生したときに非常に役立ちました)。
問題のあるコードを見つけることができるように、何が起こっているのかを追跡するためにコードまたはデータベースをどのように計測できるか考えていますか?