From 38a3daa0a94ef08e8ee325578615ec4f9c456c0a Mon Sep 17 00:00:00 2001 From: mch <2243739779@qq.com> Date: Tue, 16 May 2023 20:16:19 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=8A=E4=BC=A0=E6=96=87=E4=BB=B6=E8=87=B3?= =?UTF-8?q?=20'Storage'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Storage/api_server.py | 30 ++++++++++++++++++++++++++++++ Storage/data_server.py | 15 +++++++++++++++ 2 files changed, 45 insertions(+) create mode 100644 Storage/api_server.py create mode 100644 Storage/data_server.py diff --git a/Storage/api_server.py b/Storage/api_server.py new file mode 100644 index 0000000..7d63e76 --- /dev/null +++ b/Storage/api_server.py @@ -0,0 +1,30 @@ +import datetime +import threading +import time + +import pika +user = pika.PlainCredentials("id", "pwd") +parameters = pika.ConnectionParameters("172.20.80.100", credentials=user) +connection = pika.BlockingConnection(parameters) +index = 0 +data_server = {} +def func(): + while True: + now = int(datetime.datetime.now().timestamp()) + for k, v in data_server.items(): + if (now - v)>3: + del data_server[k] + time.sleep(1) +if __name__ == '__main__': + threading.Timer(1, func).start() + channel = connection.channel() + for method_frame, properties, body in channel.consume("mch"): + try: + ip, port = str(body).split(':') + data_server[ip] = int(datetime.datetime.now().timestamp()) + print(data_server) + except Exception as e: + print(e) + connection.close() + +connection.close() \ No newline at end of file diff --git a/Storage/data_server.py b/Storage/data_server.py new file mode 100644 index 0000000..f4e84ea --- /dev/null +++ b/Storage/data_server.py @@ -0,0 +1,15 @@ +import time + +import pika +user = pika.PlainCredentials("id", "pwd") +parameters = pika.ConnectionParameters("172.20.80.100", credentials=user) +connection = pika.BlockingConnection(parameters) + +if __name__ == '__main__': + channel = connection.channel() + # channel.queue_declare(queue="mch", durable=True) + channel.queue_bind(exchange="test", queue="mch", routing_key="mch") + while True: + body = "ip:port" + channel.basic_publish(exchange='test', routing_key='mch', body=body) + time.sleep(3) \ No newline at end of file