序文
ファジーマッチングのルーティングキー
それはあなたが正規表現を使用することができるということです、そして定期的に使用される異なるタイプを表し、そして「#」は、すべてのためにすべての意味を略で、「*」だけの単語に一致します。例としては、読書を理解することができるようになります。
このような関数に何かの例:
たとえば、あなたは親密な友人を持って、職場や生活の事で、幸せな悲しいが可能と彼女は言ったかどうか、何人かの友人は、共有楽しい事にありますが、何人かの友人があり、あなたは不幸なものを置くことができますし、彼女は言いました。
ルーティングキー
ルーティング= [ 'happy.work'、 'happy.life'、 'happy.work.teacher'、 'sad.work'、 'sad.life'、 'sad.work.teacher']
「#」:すべてのキーのルートを照合します
"幸せ#":匹配 'happy.work'、 'happy.life'、 'happy.work.teacher'
「作業#」:いいえマッチ
"ハッピー*。":マッチ 'happy.work'、 'happy.life'
"* .Work":マッチ 'happy.work'、 'sad.work'
"* .work#":匹配 'happy.work'、 'happy.work.teacher'、 'sad.work'、 'sad.work.teacher'
コード
送信者
輸入ナキウサギ ホスト名 = ' 127.0.0.1 ' パラメータ = pika.ConnectionParameters(ホスト名) 接続 = pika.BlockingConnection(パラメータ) #チャンネル作成 チャンネルを= connection.channel() #は、タイプトピックを設定し、スイッチを定義 channel.exchange_declare(取引所= ' test_queue_topic '、EXCHANGE_TYPE = ' トピックを' ) #3ルーティングキーの定義 ルーティング= [ ' happy.work '、' happy.life '、' sad.work '、' sad.lifeを' ] #メッセージを順次ルーティングキーをスイッチに送信し、設定されている ため、ルーティングで作業手順: メッセージ = " %sのメッセージ。"%ルーティング channel.basic_publish(交換 = ' test_queue_topic '、routing_key =ルーティング、本体= メッセージ) プリント(メッセージ) connection.close()
受信側
輸入SYS、ナキウサギ ホスト名 = ' 127.0.0.1 ' パラメータ = pika.ConnectionParameters(ホスト名) 接続 = pika.BlockingConnection(パラメータ) #チャンネル作成 チャンネルを= connection.channel() #は、タイプトピックを設定し、スイッチを定義 channel.exchange_declare(取引所= ' test_queue_topic '、EXCHANGE_TYPE = ' トピックを' ) #ない場合は、コマンドラインからの重要なパラメータをルーティング設定情報の取得 ルーティングをsys.argvの= [1。:] IF ないルーティング: ルーティング = [ ' 情報' ] #一時キュー、生成 結果= channel.queue_declare(キュー= 「test_queue_topic 」、排他= TRUE) #のそのキューの受信側が一時的に作成破壊されるとき、排他= Trueの終了]を queue_nameの= result.method.queue 以下のためのルーティングでルーティング: #スイッチに結合された、提供のキールーティング channel.queue_bind(取引所= 「test_queue_topicを」、キューqueue_nameの=、= routing_key ルーティング) DEF コールバック(CH、メソッド、プロパティ、本体): プリント(" [X]は受信%のR "%(本体)) channel.basic_consume( キュー = 「test_queue_topic 」、 #キュー名を指定し on_message_callback =コールバック、 #キューからGETメッセージ AUTO_ACK = Falseの #の損失を防止する作業までMQサーバー・ハング ) 印刷(「メッセージに対して[*]待機中。Ctrlキーを押しながらCを終了するには」) channel.start_consuming()
コードのテスト
送信者
受信側
作業
ハッピー
全て