30 lines
906 B
Python
30 lines
906 B
Python
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() |