4

私のPythonは中国語よりも悪いので(北京語を話そうとしたときほど多くの笑顔を見たことがない)、少し助けが必要です。

MQ(構成で指定されたトピックの場合)をリッスンしてメッセージをdBusにリレーし、代わりにdBus(構成で指定されたトピックの場合)をリッスンしてMQにリレーします。私の結論をざっと見てみると、Pythonが適していると思います。私が見つけた のは、MQTT.orgPYMQi Mosquittoです

したがって、このアプローチは有効なようです。今、私はコードサンプルを探しています。私の主な関心事は、コードを効率的にすることです。ルーチンはポーリングループで実行する必要があるように思われるので、システムをダウンさせずにPythonでそれを実行するにはどうすればよいですか。

4

4 に答える 4

2

PYMQiのサンプルコードは次のとおりです。http://packages.python.org/pymqi/examples.htmlポーリング しないために、MQトリガーを確認することをお勧めします。これらは、メッセージがキューに入れられたときにアプリケーションを起動できるようにします。

于 2011-01-27T02:52:31.197 に答える
2

MQ(構成で指定されたトピックの場合)をリッスンし、メッセージをdBusに中継して[...]

こんにちはstwissel、

また、PyMQIの次の1.2リリースでは、トピックとサブスクリプションのサポートが提供されることにも言及したいと思います。それは本当にすぐに来るはずです、私は私たちが話すように文字通りいくつかのテストケースを修正しています。これらのMQ機能をPyMQIで使用できるかどうか疑問に思っている場合に備えて、言及したいと思います。まあ、1.1ではなく1.2はもうすぐです。

乾杯!

于 2011-02-11T15:34:32.523 に答える
1

MQ(WebSphere MQ、別名MQSeries)を使用しているか、MQTT、別名WebSphereMQTelemetryを使用しているかを明確にする必要があります。

MQを使用している場合は、この時点でかなり見栄えのするPyMQIを確認してください。これは、これを使用する方法の最近の例です。

正しいコンポーネントが与えられればWebSphereMQと相互運用できる軽量メッセージ・プロトコルであるMQTTの場合、mosquittoプロジェクトはPython APIを提供し、それを使用するいくつかの例があります。

私はPythonの専門家ではないので、ループの側面をどのように最適化するのか完全にはわかりません。

于 2011-02-06T16:45:20.770 に答える
0

投票する必要はないと思います。PyMQIはブロッキング読み取りを提供します(そしてdBusもそれを行うと思います)。

一度に複数の接続(たとえば、dbusとMQの両方)をリッスンする必要がある場合でも、ブロッキング読み取りを使用する必要があります。それぞれを別々のスレッドで実行し、Pythonのようなものを使用して結果を伝達するだけですQueue.Queue()。このようにして、ポーリングによって課せられる遅延なしに、メッセージが到着するとすぐにメッセージを取得します。

于 2011-02-10T15:00:12.850 に答える