Я хотел бы запустить 3 разные функции одновременно на машине с несколькими ядрами. Каждая функция запускает обширный запрос данных для разделения баз данных, используя один и тот же модуль (cx_Oracle), и каждая функция вызывается с некоторыми аргументами. Как это можно сделать?
Я прочитал немного о параллельных вычислениях с Python, но ProcessPoolExecutor всегда возвращает ошибку BrokenProcessPool. Сценарий сохранен (сообщается как проблема в другом элементе SE).
if __name__ == '__main__'
with ProcessPoolExecutor(3) as executor:
future_1 = executor.submit(query_1, arg1)
future_2 = executor.submit(query_2, arg2)
future_3 = executor.submit(query_3, arg3)
result_1 = future_1.result()
result_2 = future_2.result()
result_3 = future_3.result()
BrokenProcessPool: A process in the process pool was terminated abruptly while the future was running or pending.
Вы видели нечто подобное? Мне достаточно ссылки на другой поток или пример трех разных вызовов с аргументами. Я также пробовал многопроцессорную работу, но не успешно.