import time import pprint import requests import sseclient # sseclient-py import sys import os import threading parent_dir = os.path.join(os.path.dirname(os.path.realpath(__file__)), '..') sys.path.append(parent_dir) server_port = 20021 # from lianqi_server.run_server_async import server_port def test_sse(tid, question): url = f'http://127.0.0.1:{server_port}/subscribe/{question}' stream_response = requests.get(url, stream=True) client = sseclient.SSEClient(stream_response) # Loop forever (while connection "open") for event in client.events(): print ("got a new event from server") pprint.pprint(f'data from thread {tid}: {event.data}') def test(tid, question): url = f'http://127.0.0.1:{server_port}/subscribe/{question}' # stream_response = requests.get(url, stream=True) client = sseclient.SSEClient(url) # Loop forever (while connection "open") max_len = 0 for event in client: # print ("got a new event from server") if len(event.data) > max_len: max_len = len(event.data) pprint.pprint(f'data from thread {tid}, {event.event}, data length: {len(event.data)}') if __name__ == '__main__': question = '通常是几月到几月 采购电缆的需求比较多?' tlist = [] for idx in range(3): thread = threading.Thread(target=test, args=(idx, question)) tlist.append(thread) thread.start() time.sleep(2) for thread in tlist: thread.join() print("All threads have finished execution.")