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