Запустите функцию, которая создает несколько потоков с помощью ThreadedWebsocketManager, в потоке

#python #multithreading #websocket #cryptocurrency

Вопрос:

У меня есть функция, которая запускает несколько потоков с помощью модуля ThreadedWebsocketManager из binance. Эта функция выглядит следующим образом:

 def get_new(stream_entry):  twm = ThreadedWebsocketManager(api_key=api_key, api_secret=api_secret)  twm.start()  streams = stream_entry  twm.start_multiplex_socket(callback=add_new_data_values, streams=streams)  twm.join()  

Теперь, когда я вызываю эту функцию из main, я больше ничего не могу сделать, потому что сама функция не выполняется как поток. Когда я пытаюсь запустить функцию в потоке, она выдает следующую ошибку: «Ошибка времени выполнения: не удается зарегистрировать atexit после завершения работы».

 t = threading.Thread(target=get_new, args=(stream_entry,)) t.start()  

Когда я ставлю «t.start ()», он снова запускается без сообщения об ошибке, но у меня будет та же проблема, что я не могу одновременно делать ничего другого.

Как заставить функцию get_new() работать как поток, который создает новые потоки с помощью ThreadedWebsocketManager?

Заранее спасибо!

Вся моя основная часть выглядит так, где я пытаюсь напечатать «привет».:

 if __name__ == "__main__":  with open('buysorsells.txt', 'r ') as f:  f.truncate(0)  entry_list = get_coins_n_intervals()  symbol_entry = entry_list[0]  interval_entry = entry_list[1]  stream_entry = entry_list[2]  lst = get_historical(symbol_entry, interval_entry)  t = threading.Thread(target=get_new, args=(stream_entry,))  t.start()  print('hello')