热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

python使用rabbitmq接收_python实现rabbitMQ的消息生产和接收

本示例确保环境有MySQLredisrabbitmq如果启动缺少对应Python模块,请自行安装下send-rabbitmq.py!usrbinpython#-*-c

本示例确保环境有 MySQL redis rabbitmq

如果启动缺少对应Python模块,请自行安装下

e555c723c46bd8ac16f9566ec9a5c126.png

send-rabbitmq.py

!/usr/bin/python

# -*- coding: utf-8 -*-

import os,sys

import MySQLdb

import pika

import random

import redis

#安装模块 pip install pika

#数据库连接

db = MySQLdb.connect('localhsot','root','yumg10','xiaogezi',charset='utf8')

cursor = db.cursor()

cursor.execute("select order_no from t_Loan")

#redis连接

#pool=redis.ConnectionPool(decode_response=True)

redis=redis.Redis(host='localhost',password='123456',port=6379)

# 新建连接,rabbitmq安装在本地则hostname为'localhost'

hostname = 'localhsot'

parameters = pika.ConnectionParameters(hostname)

connection = pika.BlockingConnection(parameters)

# 创建通道

channel = connection.channel()

# 声明一个队列,生产者和消费者都要声明一个相同的队列,用来防止万一某一方挂了,另一方能正>常运行

channel.queue_declare(queue='hello')

for i in 'PYTHON AS YOU KNOW':

number = random.randint(1, 1000)

data=cursor.fetchone()

redis.set('data','a')

#print redis.get('data')

if data is None:

data=i

else:

data=data

body = 'hello world:%s' % data

# 交换机; 队列名,写明将消息发往哪个队列; 消息内容

# routing_key在使用匿名交换机的时候才需要指定,表示发送到哪个队列

channel.basic_publish(exchange='', routing_key='hello', body=body)

print body

connection.close()

db.close();

receive-rabbitmq.py

#!/usr/bin/env python3

# -*- coding: utf-8 -*-

import pika

hostname = 'localhost'

parameters = pika.ConnectionParameters(hostname)

connection = pika.BlockingConnection(parameters)

# 创建通道

channel = connection.channel()

channel.queue_declare(queue='hello')

def callback(ch, method, properties, body):

print " [x] Received %r" % (body,)

# 告诉rabbitmq使用callback来接收信息

channel.basic_consume(callback, queue='hello', no_ack=True)

# 开始接收信息,并进入阻塞状态,队列里有信息才会调用callback进行处理,按ctrl+c退出

print ' [*] Waiting for messages. To exit press CTRL+C'

channel.start_consuming()

发文不易,知识沉淀,记得关注哦



推荐阅读
  • 根据最新发布的《互联网人才趋势报告》,尽管大量IT从业者已转向Python开发,但随着人工智能和大数据领域的迅猛发展,仍存在巨大的人才缺口。本文将详细介绍如何使用Python编写一个简单的爬虫程序,并提供完整的代码示例。 ... [详细]
  • 本文详细介绍如何使用Python进行配置文件的读写操作,涵盖常见的配置文件格式(如INI、JSON、TOML和YAML),并提供具体的代码示例。 ... [详细]
  • 使用Pandas高效读取SQL脚本中的数据
    本文详细介绍了如何利用Pandas直接读取和解析SQL脚本,提供了一种高效的数据处理方法。该方法适用于各种数据库导出的SQL脚本,并且能够显著提升数据导入的速度和效率。 ... [详细]
  • 本文介绍了在安装或运行 Python 项目时遇到的 'ModuleNotFoundError: No module named setuptools_rust' 错误,并提供了解决方案。 ... [详细]
  • CentOS7源码编译安装MySQL5.6
    2019独角兽企业重金招聘Python工程师标准一、先在cmake官网下个最新的cmake源码包cmake官网:https:www.cmake.org如此时最新 ... [详细]
  • 本文详细介绍了如何使用Python编写爬虫程序,从豆瓣电影Top250页面抓取电影信息。文章涵盖了从基础的网页请求到处理反爬虫机制,再到多页数据抓取的全过程,并提供了完整的代码示例。 ... [详细]
  • Windows 系统下 MySQL 8.0.11 的安装与配置
    本文详细介绍了在 Windows 操作系统中安装和配置 MySQL 8.0.11 的步骤,包括环境准备、安装过程以及后续配置,帮助用户顺利完成数据库的部署。 ... [详细]
  • 离线环境下的Python及其第三方库安装指南
    在项目开发中,有时会遇到电脑只能连接内网或完全无法联网的情况。本文将详细介绍如何在这种环境下安装Python及其所需的第三方库,确保开发工作的顺利进行。 ... [详细]
  • 掌握远程执行Linux脚本和命令的技巧
    本文将详细介绍如何利用Python的Paramiko库实现远程执行Linux脚本和命令,帮助读者快速掌握这一实用技能。通过具体的示例和详尽的解释,让初学者也能轻松上手。 ... [详细]
  • 使用Vultr云服务器和Namesilo域名搭建个人网站
    本文详细介绍了如何通过Vultr云服务器和Namesilo域名搭建一个功能齐全的个人网站,包括购买、配置服务器以及绑定域名的具体步骤。文章还提供了详细的命令行操作指南,帮助读者顺利完成建站过程。 ... [详细]
  • MySQL 数据库迁移指南:从本地到远程及磁盘间迁移
    本文详细介绍了如何在不同场景下进行 MySQL 数据库的迁移,包括从一个硬盘迁移到另一个硬盘、从一台计算机迁移到另一台计算机,以及解决迁移过程中可能遇到的问题。 ... [详细]
  • 本文介绍如何使用Python进行文本处理,包括分词和生成词云图。通过整合多个文本文件、去除停用词并生成词云图,展示文本数据的可视化分析方法。 ... [详细]
  • 解决网站乱码问题的综合指南
    本文总结了导致网站乱码的常见原因,并提供了详细的解决方案,包括文件编码、HTML元标签设置、服务器响应头配置、数据库字符集调整以及PHP与MySQL交互时的编码处理。 ... [详细]
  • Navicat Premium 15 安装指南及数据库连接配置
    本文详细介绍 Navicat Premium 15 的安装步骤及其对多种数据库(如 MySQL 和 Oracle)的支持,帮助用户顺利完成软件的安装与激活。 ... [详细]
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
author-avatar
宛如画中人需_308
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有