Многопоточность в многопоточности python

У меня есть функция main.py, в которой такой код:

from concurrent.futures import ThreadPoolExecutor

def run():
    with ThreadPoolExecutor(max_workers=3) as executor:
        executor.submit(get_rate)
        executor.submit(buff.run)
        executor.submit(bot.run)
        # executor.submit()
        # executor.submit()


if __name__ == '__main__':
    run()

Она в разных потоках вызывает две функции, которые запускают бота, а также другую функцию buff.

в buff.py:

def run():
    print('efwefe')
    lock_threading = threading.Lock()
    with ThreadPoolExecutor(max_workers=5) as executor:
        executor.submit(run_cost_guns_total_less_90, lock_threading)
        executor.submit(run_cost_guns_total_more_90, lock_threading)
        executor.submit(run_cost_knifes_and_hands, lock_threading)
        executor.submit(run_cost_stickers, lock_threading)
        executor.submit(run_cost_other_items, lock_threading)

У меня есть пять функций, которые нужно запустить каждую в своем потоке.

В свою очередь у каждой из пяти функций в buff, есть тоже создание потоков по типу:

def run_cost_knifes_and_hands(lock_threading):
    while True:
        knifes_and_hands = read_json('DataIds/knifes_and_hands.json')
        futures = []
        with ThreadPoolExecutor(max_workers=15) as executor:
            for i in knifes_and_hands:
                futures.append(executor.submit(get_cost_guns_total_less_90, i, lock_threading))
        for future in as_completed(futures):
            try:
                future.result()
            except Exception as exc:
                print(f"Exception in thread {threading.current_thread().name}: {exc}")
                traceback.print_exc()

Так вот, запускаю файл main.py, у меня загружается только до print('efwefe'), а дальше пусто, ничего не происходит вообще, как быть, как запустить из main.py данные потоки в buff.py.

Пробовал отдельно, просто использую файл buff.py, то запуская пять потоков этих, они запускали каждый свои потоки. Как-то так.


Ответы (0 шт):