私は、マルチプロセッシング・キューを使用するPythonでプログラムを書く方法を理解しようとしています。更新可能なキューを使ったマルチプロセッシング
私は、複数のサーバーを持っており、そのうちの一つは、このを使用してリモートキューを提供します:
from multiprocessing.managers import BaseManager
import Queue
import daemonme
queue = Queue.Queue()
class QueueManager(BaseManager):
pass
daemonme.createDaemon()
QueueManager.register('get_job', callable=lambda:queue)
m = QueueManager(address=('', 50000), authkey='')
s = m.get_server()
s.serve_forever()
今、私は、このリモート・キューのオフジョブを処理するために私のデュアルXeonプロセッサ、クアッドコアサーバを使用したいです。仕事はお互いに完全に独立しています。だから私が8コアを持っているなら、キューからジョブを選んで処理し、次のプロセスに戻る7つのプロセスを開始したいと思います。 7つのプロセスのそれぞれがこれを行いますが、私はこのプログラムの構造を頭で覆うことはできません。
誰も私にこの基本的な構造に関する知識を提供することはできますか?
ありがとうございます。
:
代わりに、あなたは、プロデューサ/コンシューマの問題のようなものを考えることができますか?私は、リモートでリソースを共有する必要があるなら、multiprocessing.managersは本当に良い選択だと思います。 – drAlberT