問題タブ [consumer]
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.
jms - ActiveMQ接続に新しいコンシューマーのブローカーをランダムに選択させるにはどうすればよいですか?
次のURLを使用してActiveMQConnactionFactoryを作成します。
私がやりたいのは、このブローカーのネットワークから複数のメッセージコンシューマーを作成することです。以下は実際のコードではありませんが、私がそれをどのように行うかを理解するのに役立ちます。
問題は、すべての消費者がランダムに選択された1つのブローカーに接続されることです。しかし、私はそれらがブローカーのネットワーク上でバランスが取れていることを望んでいます。
工場とのつながりを複数作ることで可能だと思います。
しかし、そのためのベストプラクティスは何ですか?そして、これは私が欲しい良いことですか?:)
multithreading - 異なるスレッド上のオブジェクトのインスタンスのステータスを追跡しますか?
私は自由な時間に画像掲示板スクレーパーを書いていて、主にスレッドについて教えてくれます。現在、私はこの取り組みを容易にするために生産者/消費者タイプのパターンを使用しています。しかし、私は問題にぶつかっています。
現在、特定の種類のスレッドセーフキューを監視して処理する「キュープロセッサ」があります。これらのキュープロセッサは、X秒ごとにターゲットキューをポーリングし、処理を待機しているアイテムがキューにある場合、キュープロセッサはそのアイテムのキューを解除し、そのアイテムを使用して新しいスレッドを起動し、スレッドを開始します。各スレッドで、長時間実行されるメソッドが呼び出されます(Webサイトへの接続やファイルのダウンロードなど)。このようにして、各アイテムは実行する独自のスレッドを取得します。
各スレッドで処理されている間、各アイテムのステータスを報告する方法を理解するのに苦労しています。
たとえば、メインスレッドMTがあるとします。MTは、子スレッドT1、T2、T3、T4、およびT5を生成します。各スレッドには、対応するオブジェクトO1...O5があります。これらのオブジェクトは、スレッドで処理されている間、たとえばS1、S2、S3の3つの異なる状態になる可能性があります。
オブジェクトOのステータスが変化したときに、各オブジェクトOのステータスSをメインスレッドMTに報告するにはどうすればよいですか?
イベントを使用してステータスを報告しようとしましたが、その周りでいくつかの奇妙な結果に遭遇しています。スレッドとイベントの使用について少しググったが、それほど遠くはなかった。
どんな助けでもいただければ幸いです。
ありがとうございました。
jms - ActiveMQ: MessageConsumer のセレクター プロセスはブローカーまたはクライアント側にありますか?
誰かがこれについて私が正しいか間違っているかを確認してください。「セレクター」操作は MessageConsumer 実装内で行われるようです。(つまり、すべてのメッセージが Message Broker から MessageConsumer にディスパッチされ、それらのメッセージに対して「セレクター」操作が実行されます)。この問題は、関心のない (つまり、セレクターに一致しない) メッセージが大量にある場合に発生します。これらのメッセージは、プリフェッチまたはキャッシュの制限により、最終的に MessageConsumer の内部キューをいっぱいにします。その結果、新しいメッセージ、特にセレクターで関心のあるメッセージを受信できなくなります。
では、MessageBroker 側でセレクター操作を実行するように AMQ を構成する方法はありますか? 「インターセプター」を調べて、独自の BrokerPlugin を作成する必要がありますか? この問題を回避する方法について何かアドバイスはありますか?
どんな答えでも本当に感謝しています。
ありがとう、Soonthorn A.
.net - 複数のプロデューサー複数のコンシューマーロックフリー(または待機フリー)キュー
MP/MCキューをロックフリーまたは待機フリーに書き込む方法に関するドキュメントを探しています。.Net4.0を使用しています。多くのC++コードが見つかりましたが、私はメモリモデルにあまり詳しくないため、C#への移植中にいくつかのバグを導入する可能性があります。
jboss - JBoss で ActiveMQ メッセージを受信する際の問題 (1 秒あたりのメッセージ数が少ない)
メッセージを消費するために、リモート ActiveMQ サーバーとメッセージ駆動型 Bean (4 つの異なる Bean) を使用しています。
理論的には、メッセージの消費は高速である必要があります (以前は高速でした)。現在、jboss は 4 秒ごとに非常に遅い数 (4 程度) のメッセージを消費します。AMQ Web インターフェイスの接続パネルには、jboss コンシューマーからの 2 つの接続が表示されます。
私のコンシューマが非常に遅くなる原因を誰か知っていますか?
編集: コンシューマーは時間の経過とともに遅くなり、再起動後はかなり高速になります。変。
python - Pyramid oauth プロバイダーでリクエスト トークンを生成しようとすると、無効な署名エラーが発生する
oauth2
開発中の API へのアクセスを制御するために Pyramid アプリケーションを使用してリクエスト トークンを生成しようとしています。この例で動作するコンシューマ キーとシークレットを検証しようとして行き詰まりました。Pyramid request_token エンドポイントには、次のものがあります。
(は、指定されたおよびのConsumerKeySecret.getByConsumerKey
インスタンス変数を設定する SQLAlchemy モデルのクラスメソッドです。)key
secret
key
消費者側では、前述のブログ投稿に続いて、次のことを行っています。
ただし、検証は次のエラーで失敗します。
Invalid signature. Expected signature base string: GET&http%3A%2F%2Flocalhost%3A6543%2Fapi%2F01%2Frequest_token&oauth_body_hash%3D2jmj7l5rSw0yVb%252FvlWAYkK%252FYBwk%253D%26oauth_body_hash%3D2jmj7l5rSw0yVb%252FvlWAYkK%252FYBwk%253D%26oauth_consumer_key%3Db9085cb942dc427c92dd%26oauth_consumer_key%3Db9085cb942dc427c92dd%26oauth_nonce%3D42023151%26oauth_nonce%3D42023151%26oauth_signature_method%3DHMAC-SHA1%26oauth_signature_method%3DHMAC-SHA1%26oauth_timestamp%3D1310338562%26oauth_timestamp%3D1310338562%26oauth_version%3D1.0%26oauth_version%3D1.0
ただし、各クエリ文字列パラメーターが「予期される」署名に 2 回出現するため、ここで混乱します。何がうまくいかないのですか?
それが簡単に答えられる質問なら、フォローアップがあります: 実際にリクエストを確認したら、リクエスト トークンを生成するにはどうすればよいですか? ライブラリは、このoauth2
点に関するドキュメンテーションが少し大雑把であり、そこにあるほとんどの例は、プロバイダーを作成するのではなく、コンシューマーを実装することを目的としているようです.
ありがとう!
更新 私自身の質問に答えて、私が答えだと思うものを提供します。のこのバグ レポートから、 を使用していたため、パラメータを含めると署名の検証が台無しoauth2
になっているように見えます。それを変更して問題を修正しました。私もこのライブラリでテストしていることを考えると、とにかくこれが起こるのは奇妙です。oauth_body_hash
GET
POST
2 番目の部分に答えるには、ランダムで十分な長さのキー/シークレット ペアを生成するだけでよいと思います。ランダムなソースの sha1 ハッシュを 2 つの 20 文字の部分に分割する人を見てきました。その後、ステップoauth2.Token
で使用できる URL を自動的に作成できますauthorize_token
。
もちろん、これについて間違っている場合は、必ずお知らせください。
python - Tkを使用してPythonで他のスレッドが終了したときにロード画面を閉じるにはどうすればよいですか?
Tkinter を使用する Python GUI があります。データを取得するには、別の場所に SSH 接続する必要があります。GUIがハングしないように、これを行うために新しいスレッドを開始します。この間、ロード中であることをユーザーに知らせる画面をポップアップ表示したいと考えています。プログラムがデータの取得を終了したら、読み込み画面を閉じたいと思います。スレッドが完了したことをメインループに認識させるにはどうすればよいですか? そのスレッドを使用して、メイン ループに存在する読み込み画面を閉じようとしましたが、それが機能しないことがわかりました。
GUI を使用しないプロデューサー コンシューマー モデルをいくつか見てきましたが、それらには while ループがあります。これは私を助けません。また、他のパッケージをダウンロードしてインストールしたくありませんが、インポートは問題ありません。ご協力ありがとうございました!
java - Javaの生産者/消費者パターン
Javaでプロデューサー/コンシューマーパターンを実装する方法を考えています。
3つのスレッドとタスクを含むリストがあると仮定します(約5つのタスクだとしましょう)。各スレッドはリストからタスクを取得し、同時に実行します。私の現在のアプローチは、CountDownLatchを使用することです
私が達成したかったのは、タスクの処理中にスレッドが失敗した場合、そのスレッドはタスクリストに追加されて、現在のスレッドまたは他のスレッドによって再度取得されることですが、CountDownLatchを使用する現在のアプローチでは、明らかにこれを行うのは、doneSignal.countDown()が呼び出された後、スレッドがすでにタスクを終了していると想定するためです。
このシナリオの最良のアプローチは何でしょうか?Executorを使用する唯一の方法ですか?
rabbitmq - rabbitmq からの接続を切断する方法
いくつかのバグがあるアプリケーションを持っています。何らかの理由で、1 つしか存在しないはずの 2 つのコンシューマーが作成され、そのうちの 1 つでメッセージのチェックが行われなくなりました。
サーバー上のキューとコンシューマーの数をリストすることで、その状況を検出できます。サーバー側からその消費者を破壊する方法はありますか?