本文整理汇总了Python中amqpstorm.Channel.start_consuming方法的典型用法代码示例。如果您正苦于以下问题:Python Channel.start_consuming方法的具体用法?Python Channel.start_consuming怎么用?Python Channel.start_consuming使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类amqpstorm.Channel
的用法示例。
在下文中一共展示了Channel.start_consuming方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: test_channel_start_consuming_idle_wait
# 需要导入模块: from amqpstorm import Channel [as 别名]
# 或者: from amqpstorm.Channel import start_consuming [as 别名]
def test_channel_start_consuming_idle_wait(self):
self.msg = None
consumer_tag = 'travis-ci'
channel = Channel(0, FakeConnection(), 360)
channel.set_state(channel.OPEN)
message = self.message.encode('utf-8')
message_len = len(message)
def add_inbound():
deliver = specification.Basic.Deliver(consumer_tag='travis-ci')
header = ContentHeader(body_size=message_len)
body = ContentBody(value=message)
channel._inbound = [deliver, header, body]
def callback(msg):
self.msg = msg
channel.set_state(channel.CLOSED)
channel.add_consumer_tag(consumer_tag)
channel._consumer_callbacks[consumer_tag] = callback
threading.Timer(function=add_inbound, interval=1).start()
channel.start_consuming()
self.assertIsNotNone(self.msg, 'No message consumed')
self.assertIsInstance(self.msg.body, str)
self.assertEqual(self.msg.body.encode('utf-8'), message)
示例2: test_channel_start_consuming_no_consumer_tags
# 需要导入模块: from amqpstorm import Channel [as 别名]
# 或者: from amqpstorm.Channel import start_consuming [as 别名]
def test_channel_start_consuming_no_consumer_tags(self):
channel = Channel(0, FakeConnection(), 360)
channel.set_state(channel.OPEN)
channel._consumer_callbacks = ['fake']
self.assertIsNone(channel.start_consuming())
示例3: test_channel_start_consuming_multiple_callbacks
# 需要导入模块: from amqpstorm import Channel [as 别名]
# 或者: from amqpstorm.Channel import start_consuming [as 别名]
def test_channel_start_consuming_multiple_callbacks(self):
channel = Channel(0, FakeConnection(), 360)
channel.set_state(channel.OPEN)
message = self.message.encode('utf-8')
message_len = len(message)
deliver_one = specification.Basic.Deliver(
consumer_tag='travis-ci-1')
deliver_two = specification.Basic.Deliver(
consumer_tag='travis-ci-2')
deliver_three = specification.Basic.Deliver(
consumer_tag='travis-ci-3')
header = ContentHeader(body_size=message_len)
body = ContentBody(value=message)
channel._inbound = [
deliver_one, header, body,
deliver_two, header, body,
deliver_three, header, body
]
def callback_one(msg):
self.assertEqual(msg.method.get('consumer_tag'), 'travis-ci-1')
self.assertIsInstance(msg.body, str)
self.assertEqual(msg.body.encode('utf-8'), message)
def callback_two(msg):
self.assertEqual(msg.method.get('consumer_tag'), 'travis-ci-2')
self.assertIsInstance(msg.body, str)
self.assertEqual(msg.body.encode('utf-8'), message)
def callback_three(msg):
self.assertEqual(msg.method.get('consumer_tag'), 'travis-ci-3')
self.assertIsInstance(msg.body, str)
self.assertEqual(msg.body.encode('utf-8'), message)
channel.set_state(channel.CLOSED)
channel.add_consumer_tag('travis-ci-1')
channel.add_consumer_tag('travis-ci-2')
channel.add_consumer_tag('travis-ci-3')
channel._consumer_callbacks['travis-ci-1'] = callback_one
channel._consumer_callbacks['travis-ci-2'] = callback_two
channel._consumer_callbacks['travis-ci-3'] = callback_three
channel.start_consuming()