当前位置: 首页>>代码示例>>Python>>正文


Python Channel.start_consuming方法代码示例

本文整理汇总了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)
开发者ID:eandersson,项目名称:amqpstorm,代码行数:32,代码来源:channel_message_handling_tests.py

示例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())
开发者ID:eandersson,项目名称:amqpstorm,代码行数:9,代码来源:channel_message_handling_tests.py

示例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()
开发者ID:eandersson,项目名称:amqpstorm,代码行数:48,代码来源:channel_message_handling_tests.py


注:本文中的amqpstorm.Channel.start_consuming方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。