2017-08-23 5 views
1

私はpythonとpikaには新しく、数時間後に例外をスローし続けるBlockingConnectionアダプタを使用してキューから消費する問題にぶち当たっています。Python 3.6:クラスを使用せずにSelectConnectionアダプタを使用してpikaコンシューマを作成するにはどうすればよいですか?

私は今、SelectConnection(非同期)アダプタを使用しようとしていますが、このアダプタタイプをクラス内で使用し、クラスベースのコードで作業するサンプルは、私の理解をはるかに超えています。

SelectConnectionを使用してプロデューサーを作成する方法を示す例が見つかりましたが、私はpikaウェブサイトが基本プロデューサーというだけの生産よりも消費者の...

プロデューサーコードは、下記で、ナキウサギのウェブサイトから取得されます(なぜ彼らは基本的な消費者のための例が含まれていませんでした...私を超えている): (http://pika.readthedocs.io/en/latest/examples/comparing_publishing_sync_async.html

import pika 

# Step #3 
def on_open(connection): 

    connection.channel(on_channel_open) 

# Step #4 
def on_channel_open(channel): 

    channel.basic_publish('test_exchange', 
          'test_routing_key', 
          'message body value', 
          pika.BasicProperties(content_type='text/plain', 
               delivery_mode=1)) 

    connection.close() 

# Step #1: Connect to RabbitMQ 
parameters = pika.URLParameters('amqp://guest:[email protected]:5672/%2F') 

connection = pika.SelectConnection(parameters=parameters, 
            on_open_callback=on_open) 

try: 

Step #2 - Block on the IOLoop 
connection.ioloop.start() 

Catch a Keyboard Interrupt to make sure that the connection is closed cleanly 
except KeyboardInterrupt: 

# Gracefully close the connection 
connection.close() 

# Start the IOLoop again so Pika can communicate, it will stop on its own when the connection is closed 
connection.ioloop.start() 

このコードを「consu」にどのように修正できるかについてアドバイスできますか私は多くの例を見いだしたが、私の目的には役に立たないクラスベースの例ではなく、基本的な機能を使っている例を教えてもらえますか?

ありがとう君は。 (私の質問の色調から集まったかもしれませんが、今は午前4時に少し強調しており、これを数時間解決しようとしています)

答えて

関連する問題