广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Python3 通过 kombu 连接
  • 118
分享到

Python3 通过 kombu 连接

kombu 2023-01-31 08:01:28 118人浏览 安东尼

Python 官方文档:入门教程 => 点击学习

摘要

【RabbitMQ 服务器】# 在 vhosttest 里面有 exchangetest 和 queuetest 通过 rkeytest 绑定 Broker: 192.168.0.xx virtual host: vhosttest Exc

RabbitMQ 服务器

# 在 vhosttest 里面有 exchangetest 和 queuetest 通过 rkeytest 绑定
Broker: 192.168.0.xx
virtual host: vhosttest
Exchange: exchangetest 
Queue: queuetest 
Routing key: rkeytest


python 环境】

OS: windows 10
Python: 3.6.3 x64
kombu: 4.1.0


【查看队列状态】

# 通过浏览器查看队列状态
Http://192.168.0.xx:15672/api/queues/vhosttest/queuetest  

# 通过命令行查看队列状态curl -u user:passWord 
http://192.168.0.xx:15672/api/queues/vhosttest/queuetest  |  jq 

# 通过命令行查看队列长度(messages = messages_ready + messages_unacknowledged)
curl -s -u user:password http://192.168.0.xx:15672/api/queues/vhosttest/queuetest  | \
    jq '.messages'


【send.py】

#encoding: utf-8
#author: walker
#date: 2018-03-09
#summary: 发送方/生产者

import os, sys, time
from kombu import Connection

def Main():
	with Connection('aMQp://test:test@192.168.0.xx:5672/vhosttest') as conn:
		with conn.channel() as channel:
			#producer = Producer(channel)
			producer = channel.Producer()
			
			while True:
				message = time.strftime('%H:%M:%S', time.localtime())
				producer.publish(
						body=message,
						retry=True,
						exchange='exchangetest',
						routing_key='rkeytest'
					)
				print('send message: %s' %  message)     
					
				while True:
				        # 检查队列,以重新得到消息计数
					queue = channel.queue_declare(queue='queuetest', passive=True)
					messageCount = queue.message_count
					print('messageCount: %d' % messageCount)
					if messageCount < 100:
						break
					time.sleep(1)
					
					
if __name__ == '__main__':
	Main()


【recv.py】

#encoding: utf-8
#author: walker
#date:  2018-03-09
#summary: 接收方/消费者

import os, sys, time
from kombu import Connection, Queue
from kombu.mixins import ConsumerMixin

class C(ConsumerMixin):

	def __init__(self, connection, queueNmae):
		self.connection = connection
		self.queues = [Queue(queueNmae, durable=False)]

	def get_consumers(self, Consumer, channel):
		return [
			Consumer(self.queues, callbacks=[self.on_message]),
		]

	# 接收处理消息的回调函数
	def on_message(self, body, message):
		print("Received %s" % body)
		message.ack()
		
def Main():
	with Connection('amqp://test:test@192.168.0.xx:5672/vhosttest') as conn:
		C(conn, 'queuetest').run()					
					
if __name__ == '__main__':
	Main()	


【相关阅读】

  • kombu pypi

  • kombu readthedocs

  • Kombu学习笔记(一)

  • python3 通过 pika 连接 RabbitMQ 的基本用法


*** walker ***



--结束END--

本文标题: Python3 通过 kombu 连接

本文链接: https://www.lsjlt.com/news/192804.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Python3 通过 kombu 连接
    【RabbitMQ 服务器】# 在 vhosttest 里面有 exchangetest 和 queuetest 通过 rkeytest 绑定 Broker: 192.168.0.xx virtual host: vhosttest Exc...
    99+
    2023-01-31
    kombu
  • Python3 通过 pika 连接 R
    【RabbitMQ 服务器】# 在 vhosttest 里面有 exchangetest 和 queuetest 通过 rkeytest 绑定 Broker: 192.168.0.xx virtual host: vhosttest Exc...
    99+
    2023-01-31
    pika
  • oracle通过DBlink连接oracle
    1.1赋权(将crh_snp用户赋权具体创建dblink权限) 在sys用户下,把CREATE PUBLIC DATABASE LINK,DROP PUBLIC DATABASE LINK权限授予给...
    99+
    2022-10-18
  • 12c通过service 连接pdb
    <roidb01:cdb1:/home/oracle>$lsnrctl service LSNRCTL for Linux: Version 12.1.0.2.0 - Production ...
    99+
    2022-10-18
  • python3连接mysql
    python3 连接mysql数据库,执行操作。 环境:os: windows 2008python: python 3.5.3 之前用过python3连接sqlite3数据库,只是作为单机数据库使用,但后来提供web服务时,sqlite3...
    99+
    2023-01-31
    mysql
  • 怎么通过git连接cpu
    在程序开发的过程中,使用版本控制系统可以方便地管理代码的变更和团队协作。而Git作为一款流行的分布式版本控制系统,被广泛地使用。但是,有时候我们需要将Git与本地的CPU连接起来,以便于实现一些特定的功能。下面将介绍如何通过Git连接CPU...
    99+
    2023-10-22
  • 通过 plsql 连接远程 Oracle
    方法一:通过 plsql 工具和 oracle client(不是即时客户端 instantclient) 的方式来连接 Oracle 一、 安装 oracle client,(本教程已经下载并解压) 二、 选 择 管 理 员 ...
    99+
    2016-10-20
    通过 plsql 连接远程 Oracle
  • 通过Python3+selenium自动
    使用的是selenium,最开始接触这个模块包是爬虫,这次是工作需要来自动测试网页。 记录一下模拟不同浏览器的方式 总共测了两个浏览器,Firefox在centos7上和chrome在win10上。都是模拟的IPAD方式访问,原因是使用...
    99+
    2023-01-31
    selenium
  • python3爬虫-通过selenium
    from selenium import webdriver from selenium.common.exceptions import NoSuchElementException from selenium.webdriver.c...
    99+
    2023-01-31
    爬虫 selenium
  • python3爬虫-通过requests
    import requests from fake_useragent import UserAgent from lxml import etree from urllib.parse import urljoin import py...
    99+
    2023-01-31
    爬虫 requests
  • python3 通过 pycurl 检测
    由于python3 对StringIO 集成到io 模块中了,所有python3 import StringIO 改成了 import io,pycurl.Curl() 初始化对象C ,其 属性WRITEFUNCTION 要求传递参数是by...
    99+
    2023-01-31
    pycurl
  • c++通过ADO连接数据库
    c++通过ADO连接数据库,具体要求步骤如下:1、要导入连接ADO库文件信息,方法#import "C:\Program Files\Common Files\System\a...
    99+
    2022-10-18
  • 通过OCILIB连接oracle执行存储过程
    #include <iostream> #include "ocilib.hpp" using namespace std; using nam...
    99+
    2022-10-18
  • win下python3.x通过distr
    1,下载distribute-0.6.32.tar.gz ,网址为http://pypi.python.org/pypi/distribute#downloads   2,安装easy_install.py,把distribute-0.6....
    99+
    2023-01-31
    win distr
  • python3怎么连接mysql
    使用python3连接mysql数据库的方法代码如下:#!/usr/bin/python3import pymysql# 打开数据库连接db = pymysql.connect("localhost"...
    99+
    2022-10-21
  • Python3 redis集群连接 (
    环境:python 3.7.4redis集群 单集群(无slave) 很多文章都说redis密码,今天验证的了很多次失败,查了相关资料有才知道连接方式,一下为代码,修改123456为自己代码就可以使用了 from rediscluste...
    99+
    2023-01-31
    集群 redis
  • Oracle 无法通过IP连接问题
    1.安装目录:D:\app\Administrator\product\11.2.0\dbhome_1\NETWORK\ADMIN2.listener.ora(里面的localhost或127.0.0.1改...
    99+
    2022-10-18
  • ftp通过SSH远程连接到Linux
    先在linux中安装ssh,以centos为例 传送门:https:UlXpCA//www.jb51.net/article/232569.htm 下载ftp软件https://www.jb51.net/soft...
    99+
    2022-06-04
    ftp远程连接Linux 远程连接Linux
  • Oracle通过dblink连接GBase 8a MPP Cluster
    Oracle 通过 dblink 连接 GBase 8a MPP Cluster 源端: Oracle 版本: Oracle 11.2.0.3.0    OS 版本...
    99+
    2022-10-18
  • sqlserverdriver中怎么通过 jdbc连接sqlserver
    这篇文章将为大家详细讲解有关sqlserverdriver中怎么通过 jdbc连接sqlserver,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。一、下载驱...
    99+
    2022-10-18
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作