Я новичок в python, и мне нужно создать программу, которая будет поддерживать линзы от web-сокета и канала, поэтому мне нужны две асинхронные функции.Каждая из этих функций вызывает другой метод в различном thrad, который уточняет содержание полученного json.то есть я получаю сообщение в потоке сокета, получаю сообщение и создаю новый поток для разработки сообщения.
Это фактический код:
import asyncio
import sys
import json
import websockets
# Keep listening from web socket and pipe
async def socket_receiver():
"""Listening from web socket"""
file_socket = open(r"SocketReceived.txt", "w")
header = {"Authorization": r"Basic XXXXXXXXXXXXXX="}
async with websockets.connect(
'wss://XXXXXXXXX', extra_headers=header) as web_socket:
print("SOCKET receiving:")
greeting = await web_socket.recv()
json_message = json.loads(greeting)
file_socket.write(json_message)
print(json_message)
file_socket.close()
async def pipe_receiver():
"""Listening from pipe"""
file_pipe = open(r"ipeReceived.txt", "w")
while True:
print("PIPE receiving:")
line = sys.stdin.readline()
if not line:
break
jsonObj = json.loads(line);
file_pipe.write(jsonObj['prova'] + '\n')
# jsonValue = json.dump(str(line), file);
sys.stdout.flush()
file_pipe.close()
asyncio.get_event_loop().run_until_complete(socket_receiver())
asyncio.get_event_loop().run_until_complete(pipe_receiver())
run_until_complete
метод keep навсегда в моем случае(он ожидает окончания функции), поэтому запускается только сокет.Как я могу начать оба?Спасибо