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()
相关推荐
花果山总钻风14 分钟前
SQLAlchemy 中的 func 函数使用指南
python
知识中的海王28 分钟前
Python html 库用法详解
开发语言·python
面朝大海,春不暖,花不开44 分钟前
使用 Python 正则表达式实现文本替换与电话号码规范化
python·mysql·正则表达式
淘小白_TXB21961 小时前
Python网页自动化Selenium中文文档
python·selenium·自动化·网页自动化
Clair-Sean1 小时前
【JavaSE】多线程基础学习笔记
笔记·python·学习
EverBule2 小时前
Python 训练 day46
开发语言·python
WangY_ZQ3 小时前
Python 如何在Python 3.6上安装PIP
linux·python·pip
聚客AI3 小时前
系统掌握PyTorch:图解张量、Autograd、DataLoader、nn.Module与实战模型
人工智能·pytorch·python·rnn·神经网络·机器学习·自然语言处理
狮子也疯狂3 小时前
基于Python的气象数据分析及可视化研究
python·信息可视化·数据分析
蓝婷儿4 小时前
6个月Python学习计划 Day 18 - 项目实战 · 学生成绩管理系统(OOP版)
开发语言·python·学习