Twistedを介してWebSphereMQとメッセージを送受信するための「マシン」を構築する方法を模索しています。できるだけ汎用的にしたいので、MQとインターフェイスするさまざまな状況で再利用できます。
以前はツイストを使用していましたが、何年も前に今、かつて持っていた知識を復活させようとしています...
私が抱えている特定の問題は、Twistedを使用してMQIOを実装する方法です。MQとインターフェイスするpymqiPythonライブラリがあり、必要なすべてのインターフェイスを提供します。実装する必要のあるMQ呼び出しは次のとおりです。
- 特定のMQサーバー/ポート/チャネル/キュー-マネージャー/キューの組み合わせへの接続を開始します
- コンテンツを取得し、メッセージとして目的のキューに投稿します
- キューをポーリングし、キュー内の次のメッセージの内容を返します
- キュー・マネージャーに要求を送信して、現在キューにあるメッセージの数を見つけます
これらはすべて、MQへの呼び出しをブロックすることを含みます。
さまざまなプロジェクトでTwisted/MQインターフェースを何度も再利用するつもりなので、MQ IOをTwistedプロトコルとして、Twistedトランスポートとして実装するか、deferToThread()呼び出しを介してpymqiメソッドを呼び出す必要があります。 ?これは非常に幅広い質問であり、決定的な答えはおそらくないことを私は理解しています。私は、以前に同様の課題に遭遇した可能性のある人(つまり、常にブロックされるキューイングインターフェイスを使用する)からのアドバイスを本当に受けており、うまく機能する方法を見つけました。