ios-hooks/im_lux.py
2025-09-05 18:48:22 +08:00

32 lines
1.4 KiB
Python
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import pika
import json
import pymysql
credentials = pika.PlainCredentials('admin', '123456') # mq用户名和密码
# 虚拟队列需要指定参数 virtual_host如果是默认的可以不填。
connection = pika.BlockingConnection(pika.ConnectionParameters(host = '192.168.40.7',port = 5672,virtual_host = 'test',credentials = credentials))
channel = connection.channel()
# 申明消息队列,消息在这个队列传递,如果不存在,则创建队列
channel.queue_declare(queue = 'ios-idfa', durable=True)
db = pymysql.connect(host='192.168.40.214', port=4000, user='root', password='Xwj5FhM8cTuEuXbS', database='secret')
def insert_to_db(idfa):
# 连接到MySQL数据库
cur = db.cursor()
cur.executemany("insert ignore into gaid_ios(gaid, country, created) value (%s, 'US', now())", idfa)
db.commit()
cur.close()
# 定义一个回调函数来处理消息队列中的消息,这里是打印出来
def callback(ch, method, properties, body):
jsStr = body.decode()
data = json.loads(jsStr)
idfas = [(it['idfa'],) for it in data]
print(idfas)
insert_to_db(idfas)
ch.basic_ack(delivery_tag = method.delivery_tag)
# 告诉rabbitmq用callback来接收消息
channel.basic_consume('ios-idfa',callback)
# 开始接收信息并进入阻塞状态队列里有信息才会调用callback进行处理
channel.start_consuming()