python3实现定时拉取rabbitmq队列里面的数据,并输出到文件中。

使用pika,一个Python RabbitMQ客户端库,结合Python的datetimejson库来实现定时从RabbitMQ队列中拉取数据,并将数据输出到按当天日期动态生成的文件中。

首先,确保您已经安装了 pika 库。如果尚未安装,可以使用以下命令进行安装:

python 复制代码
pip install pika

实现代码如下:

python 复制代码
import pika
import datetime
import json

# RabbitMQ连接参数(替换为实际信息)
credentials = pika.PlainCredentials('your_username', 'your_password')
connection_params = pika.ConnectionParameters('localhost', credentials=credentials)
queue_name = 'your_queue_name'  # 替换为队列名

# 建立RabbitMQ连接和信道
connection = pika.BlockingConnection(connection_params)
channel = connection.channel()

# 声明队列
channel.queue_declare(queue=queue_name)

# 生成当天日期的文件名
current_date = datetime.datetime.now().strftime("%Y-%m-%d")
output_file = f"data_{current_date}.json"

# 拉取队列中的数据并写入文件
with open(output_file, 'a') as file:
    while True:
        method_frame, properties, body = channel.basic_get(queue=queue_name, auto_ack=True)
        if method_frame:
            data = json.loads(body.decode('utf-8'))
            file.write(json.dumps(data) + '\n')
        else:
            break

# 关闭连接
connection.close()
相关推荐
七夜zippoe3 分钟前
缓存策略:从本地到分布式架构设计与Python实战
分布式·python·缓存·lfu·lru
曲幽5 分钟前
重构FastAPI生产部署:用异步网关与无服务器计算应对高并发
python·serverless·fastapi·web·async·httpx·await·asyncio
郝学胜-神的一滴8 分钟前
《机器学习》经典教材全景解读:周志华教授匠心之作的技术深探
数据结构·人工智能·python·程序人生·机器学习·sklearn
知乎的哥廷根数学学派8 分钟前
基于物理约束与多源知识融合的浅基础极限承载力智能预测与工程决策优化(以模拟信号为例,Pytorch)
人工智能·pytorch·python·深度学习·神经网络·机器学习
费弗里12 分钟前
新组件库fi发布,轻松实现新一代声明式信息图可视化
python·数据可视化·dash
书中藏着宇宙19 分钟前
CornerNet的续篇(数据处理与训练)
开发语言·python
万粉变现经纪人22 分钟前
如何解决 pip install mysqlclient 报错 ‘mysql_config’ not found 问题
数据库·python·mysql·pycharm·bug·pandas·pip
海棠AI实验室25 分钟前
第五章 配置管理:用 YAML/ENV 让项目可迁移
python·yaml
love_summer26 分钟前
流程控制进阶:从闰年判断到猜数游戏的逻辑复盘与代码实现
python
JAVA+C语言26 分钟前
Java ThreadLocal 的原理
java·开发语言·python