1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- 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.")
|