問題タブ [request-queueing]
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.
multithreading - WCFサービスとリクエストのキューイング
擬似コードを使用してハンドロールされたPOCOキュークラスを使用しています
WCFの場合、リクエストキューイングはスケーラブルなアプローチですか?
.net - .NET外部アプリでクライアント/サーバーキューイングモデルを実装するための最良のアプローチ?
仕様は次のとおりです。
- ローカル マシンで WPF winform アプリケーションを使用する複数のクライアント
- クライアントは、サーバーへのリクエストを開始して、シミュレーションを実行します。この開始はおそらく Web サービス経由で行う必要がありますが、他の提案も歓迎します
- リクエストはサーバーでキューに入れられます
- サーバーは、Web サービスを介してシミュレーション モデルに順次要求を送信します。
- サーバーは、シミュレーションが完了したことをクライアントに通知します
追加の要件は、クライアントが以前に行った要求をキャンセルすることです。パイプに送信するデータが多すぎることを心配する必要はないことに注意してください。特定のシミュレーションの実行が完了した (または失敗した) という確認のみを送信しています。
最初は、これらすべてを 1 つの asmx Web サービスで実行できると思っていましたが、今では扱いにくいと思います。WCF は別のオプションのように思えますが、私はそれに慣れておらず、必要な機能よりもはるかに複雑に思えます。
何か案は?
asp.net - ASP.NET 要求がキューに入れられました。これらの要求が何であるかを特定できますか?
キューがブロックされたときに現在キューにあるリクエストの種類を調べると役立つようです。彼らの情報を知る方法はありますか?例: リクエスト URL、クライアント IP、Cookie、本文...
c# - C# リクエスト キュー
私の Web サービスは別の API を使用してデータを取得します。私はデータをキャッシュし、それをきれいにして、ユーザーがリクエストを行ったときにそれを返します。現在、多くのリクエストを受け取っています。データ API にアクセスできるのは 1 秒間に 2 回だけであるため、エラーが返されます。つまり、一部のユーザーはデータを取得できず、他のユーザーはデータを取得できません。
私がやりたいことは、各リクエストをキューに追加し、それらの間に 0.4 秒のスリープを入れて 1 つずつ処理することです。すべてのリクエストが確実に処理されるようにするには、キューを常に実行する必要があります。
ASP.NET 3.5 でこれを行うにはどうすればよいですか?
java - Java.lang.Runtime
次を使用してbashターミナルのインスタンスを呼び出すコードがあります-
次に、呼び出された bash のインスタンスで unix コマンドを実行するために、次のような PrintWriter オブジェクトを使用しています --
次に、PrintWriter オブジェクトを使用して、次の方法で実際にコマンドを実行しています。
どちらのコマンドも問題なく動作しているように見えますが、ユーザー入力に基づいてコマンドを作成する場合に問題があります。具体的に言うと、いくつかのファイルをネットワーク上のプリンターに送信するコマンドを作成しており、次のように実行しています-
上記のコードで実際に起こっていることは、印刷する必要があるすべてのファイルを含むファイルから br を読み取っていて、ファイル名を持つ文字列がコマンドに入り、それを PrintWriter オブジェクトに書き込むことです。
私が直面している問題は、ある種のキューイングが発生していると思います.PrintWriterオブジェクトは、コマンドが構築されるたびに、呼び出されたbashインスタンスに実際にコマンドを渡していません. したがって、1 日の終わりに、40 個のコマンドが構築されている場合、約 16 ~ 18 個のドキュメントのみが印刷されます。すべてのコマンドを一度にプリンターに送信しているため、損失が発生していると思われます。この損失をなくしたいと考えています。
ポインタはありますか??
ありがとう
core-data - RestKit-オフラインストレージの後に追加/編集/削除されたオブジェクトを送信します
コアデータでのRestKitの使用ユーザーがインターネットに接続せずにオブジェクトにフラグを付けてコアデータで保存することにより、オブジェクトを追加、編集、または削除するときにオフラインサポートを提供しています。
インターネットが再び利用可能になった場合は、追加/編集/削除されたすべてのオブジェクトをフェッチして配列に保存し、通常のメソッドを使用して各アイテムをループしてサーバーに配置します。
配列のリスト
-fetchedAddedCompanies
-fetchedEditedCompanies
-fetchedAddedContacts
-fetchedEditedContacts
-fetchedDeletedContacts
Initメソッド(編集された会社の例)
updateAccountToServerの最後に、サーバーへのマッピングを含むオブジェクト(self.company)を投稿します。
質問
すべての編集/削除メソッドとは対照的に、サーバーは新しく作成されたオブジェクトごとにIDを返すため、ユーザーがいくつかのオブジェクトを更新し、特別なものがいくつかの新しいオブジェクトを追加したときに、より効率的なソリューションを探しています。保存されます。
1)編集されたオブジェクトごとにupdateAccountToServerなどを使用せず、代わりにオブジェクトの配列を送信します
2)RKObjectManagerと一緒にRKRequestQueueを使用します(この質問と適切な回答に関して)
私の意見では、1)各リクエストのresourcePathに一意のIDが含まれているため、実装が難しいため、2)を試しましたが、を使用して各リクエストのマッピングをバインドする可能性がありません。
あなたのアイデアをありがとう!
asp.net - asp.netクエリ文字列の書式設定
クエリ文字列で特殊文字を送信するにはどうすればよいですか?
好き:
私がこれを行うと、++が取り出されます:
次のようにデータ内に保存します。
GQH / FUvq9sQbWwrYh5xX7G VktXU5o17hycAfNSND8gt8YbbUaJbwRw
したがって、それは無効です。受信した文字列を変更せずに、その文字列を適切に送信するにはどうすればよいですか?
アップデート
これを行う:
そしてもう一方の端では:
次のように送信します:GQH%2fFUvq9sQbWwrYh5xX7G%2bVktXU5o17hycAfNSND8gt8YbbUaJbwRw
ただし、次のようにデコードされます。GQH /FUvq9sQbWwrYh5xX7G[ここに2つのスペース]VktXU5o17hycAfNSND8gt8YbbUaJbwRw
java - リクエスト キューの実装
私は現在、RPC レイヤーの POC に携わっています。クライアント側でリクエストを調整するために、次のメソッドを作成しました。これは従うべき良いパターンですか?追加のリクエストをスレッドプールにキューイングすることを選択しませんでした。これは、同期呼び出しのみに関心があり、RPC リクエストを実行するためにウェイクアップされるまで呼び出し元スレッドをブロックする必要があるためです。 .
すでにリクエストを発行しているスレッドで管理できると思いました。これはうまく機能しますが、通話が終了するとすぐに別の通話が発信されるため、CPU 使用率は他のプロセスにとって少し不公平です。膨大な数のリクエストで負荷テストを行いましたが、メモリと CPU の使用率は安定しています。ArrayBlockingQueue をポーリングで使用して同じことを達成できますか? poll() は CPU を大量に消費しますか?
注: requestEnd メソッドには、すべての登録済みアイテムが正しく起動されない可能性があるいくつかの並行性の問題があることを認識しており、そこで原子性を維持する効率的な方法を考えています。
java - Java:リクエストの細かいロック?
次のシナリオで、きめの細かいロック メカニズムを作成しようとしています。
Cache
内部に多くのシリアル化されたオブジェクトを含むデータ ストアがあります。それぞれCache
が特定の人、グループ、または会社に属しており、それぞれCache
を 4 つの方法のいずれかで変更できます: 作成、削除、削除、または挿入できます。aCache
が変更されている間、私はそれへのアクセスをブロックしたいと思います。それぞれは、便宜上、ディレクトリとファイル名、およびフル パスを格納Cache
するオブジェクトを使用して識別されます。CacheLocation
現在、処理中の現在のオブジェクトRequestQueue
を保持するというクラス内で配列リストを使用しています。CacheLocation
次に、別のスレッドが入ってくると、キューをチェックして、CacheLocation
要求しているスレッドが既に使用されているかどうかを確認します。この場合、while ループを使用して、CacheLocation
そこに置かれたリクエストによって削除されるまで、定期的に をチェックし続けます。
値CacheLocation
に対するキーの HashMap を持つことはアイデアかもしれないと考えていました。BlockingQueue
これにより、BlockingQueue
オブジェクトのセットが大きくなりますが、キューをかなりうまく管理できました。
この種の細粒度ロックを行うためのより良い方法はありますか?
c# - ASP NET クエリがキューに入れられる場所を見つける方法
iis 8.5で実行されているASP Net mvc 5プロジェクトがあります。次のようなアクションから取得した画像を含むページが多数あります。
画像の約 90% はかなり高速に読み込まれます (それぞれ数ミリ秒) が、最後の 10% の読み込みには非常に時間がかかります (それぞれ 2 ~ 5 秒)。Contents アクションはすべての画像に対して同じ速度で実行され、ほとんどの時間は PostMapRequestHandler イベントと AcquireRequestState イベントの間に費やされることがわかりました。このリクエストはどこかでキューに入れられていると思いますが、なぜそうなっているのか理解できません。iisには同時リクエストの最大数に制限があることは知っていますが、.net 4のデフォルト値は5000で、最大で約100の画像があります。誰かが何が起こっているのか教えてもらえますか?