Завершение multiprocessing.map в Исключении - PullRequest
0 голосов
/ 18 мая 2018

Я хочу запустить несколько тестов параллельно, используя многопроцессорность:

 testlist=[test1, test2, test3]
 pool = ThreadPool(len(testlist))
 try:
      pool.map(run_test, testlist)
      print('Success')
      sys.exit(0)
 except Exception:
      print('FAILURE!')
      sys.exit(1)

Есть ли способ завершить все потоки, если один из них выдает исключение?Нет смысла запускать все тесты, если кто-то провалится рано.

1 Ответ

0 голосов
/ 18 мая 2018

Вы не можете убить нить.Вызов pool.terminate() только предотвратит создание нового потока.
Тест, уже запущенный, не будет остановлен.
См .: https://stackoverflow.com/a/325528/7529716

...