タグ付けされた質問 「queue」

キューは、順序付けされた先入れ先出しのデータ構造です。キューの一般的な実装では、要素を後ろに押して前の位置からポップすることができます。


3
RabbitMQメッセージのサイズとタイプ
RabbitMQキューに保存できるメッセージは何ですか?文字列だけ?または、int、binary、stringなど、保存するタイプを選択できますか? 1つのメッセージの最大サイズはいくつですか? いくつのキューまたは交換を作成できますか?それともサーバーのパワーに依存しますか?

14
RabbitMQでのキューの削除
RabbitMQで実行しているキューがいくつかあります。それらのうちのいくつかは現在役に立たないのですが、どうすれば削除できますか?残念ながら、私はauto_deleteオプションを設定していませんでした。 今設定すると削除されますか? これらのキューを今すぐ削除する方法はありますか?
93 queue  rabbitmq 

15
NSOperationQueueがすべてのタスクを完了したときに通知を受け取ります
NSOperationQueue持っていますがwaitUntilAllOperationsAreFinished、私は同期的にそれを待ちたくありません。キューが終了したときにUIの進行状況インジケーターを非表示にしたいだけです。 これを達成するための最良の方法は何ですか? NSOperationどのsが最後になるのかわからないため[queue operations]、通知を受信して​​もまだ空ではない(またはさらに悪いことに、再入力されている)ため、から通知を送信できません。

2
複数のプロセス間で結果キューを共有する
multiprocessingモジュールのドキュメントには、で始まるプロセスにキューを渡す方法が示されていますmultiprocessing.Process。しかし、どのようにして非同期ワーカープロセスでキューを共有できapply_asyncますか?動的な結合などは必要ありません。ワーカーが(繰り返し)結果をベースに報告する方法にすぎません。 import multiprocessing def worker(name, que): que.put("%d is done" % name) if __name__ == '__main__': pool = multiprocessing.Pool(processes=3) q = multiprocessing.Queue() workers = pool.apply_async(worker, (33, q)) これは失敗します: RuntimeError: Queue objects should only be shared between processes through inheritance。私はこれが何を意味するのかを理解し、酸洗い/酸洗いを必要とするのではなく継承するためのアドバイス(およびWindowsのすべての特別な制限)を理解しています。しかし、機能するようにキューを渡すにはどうすればよいですか?私は例を見つけることができず、さまざまな方法で失敗した代替案をいくつか試しました。助けてください?

5
バックグラウンドプロセスでConnectionExceptionではなくRejectionExceptionをスローするGuzzle
複数のキューワーカーで実行されるジョブがあり、Guzzleを使用したHTTPリクエストがいくつか含まれています。ただし、GuzzleHttp\Exception\RequestExceptionこれらのジョブをバックグラウンドプロセスで実行しているときに、このジョブ内のtry-catchブロックが取得されないようです。実行中のプロセスは、php artisan queue:workキューを監視してジョブを取得するLaravelキューシステムワーカーです。 代わりに、スローされる例外GuzzleHttp\Promise\RejectionExceptionはメッセージの1つです。 プロミスは次の理由で拒否されました:cURLエラー28:受信した0バイトで30001ミリ秒後に操作がタイムアウトしました(https://curl.haxx.se/libcurl/c/libcurl-errors.htmlを参照 ) これは実際には偽装されていますGuzzleHttp\Exception\ConnectException(https://github.com/guzzle/promises/blob/master/src/RejectionException.php#L22を参照)。これは、通常のPHPプロセスで同様のジョブを実行すると、 URL、私はConnectExceptionメッセージで意図したとおりに取得します: cURLエラー28:100ミリ秒後に操作がタイムアウトし、0バイトのうち0バイトが受信されました(https://curl.haxx.se/libcurl/c/libcurl-errors.htmlを参照 ) このタイムアウトをトリガーするサンプルコード: try { $c = new \GuzzleHttp\Client([ 'timeout' => 0.1 ]); $response = (string) $c->get('https://example.com')->getBody(); } catch(GuzzleHttp\Exception\RequestException $e) { // This occasionally gets catched when a ConnectException (child) is thrown, // but it doesnt happen with RejectionException because it is …
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.