python_websocket长连接压测

from threadpool import ThreadPool, makeRequests
import websocket
import threading


def on_message(ws, message):
print(message)


def on_error(ws, error):
print(error)


def on_close(ws):
print("### closed ###")


def on_open(ws):
def send_trhead():
while True:
time.sleep(5)
ws.send("test")

t = threading.Thread(target=send_trhead)
t.start()


def connect(a):
time.sleep(a % 1)
websocket.enableTrace(True)
ws = websocket.WebSocketApp("压测地址",
on_message=on_message,
on_error=on_error,
on_close=on_close)
ws.on_open = on_open
ws.run_forever(ping_interval=60, ping_timeout=5)
return ws


if __name__ == "__main__":
pool = ThreadPool(100)
test = list()
for i in range(100):
test.append(i)
result = makeRequests(connect, test)
[pool.putRequest(req) for req in result]
pool.wait()
posted @ 2019-11-12 11:14  爱我所爱-333  阅读(1635)  评论(0)    收藏  举报