Вам не хватает импорта. Это вызывает ошибки импорта в рабочих, которые вы не видите. Импортируйте их:
import random
from time import sleep
и вы получите следующие данные:
There are 8 CPUs on this machine
Unit of work A starting 2020-01-27 : 18-48-21
Unit of work B starting 2020-01-27 : 18-48-21
Unit of work C starting 2020-01-27 : 18-48-21
Unit of work D starting 2020-01-27 : 18-48-21
Unit of work E starting 2020-01-27 : 18-48-21
Unit of work E ending 2020-01-27 : 18-48-21
Unit of work F starting 2020-01-27 : 18-48-21
Unit of work A ending 2020-01-27 : 18-48-22
Unit of work G starting 2020-01-27 : 18-48-22
Unit of work C ending 2020-01-27 : 18-48-22
Unit of work H starting 2020-01-27 : 18-48-22
Unit of work D ending 2020-01-27 : 18-48-22
Unit of work M starting 2020-01-27 : 18-48-22
Unit of work G ending 2020-01-27 : 18-48-22
Unit of work N starting 2020-01-27 : 18-48-22
Unit of work B ending 2020-01-27 : 18-48-22
Unit of work M ending 2020-01-27 : 18-48-23
Unit of work F ending 2020-01-27 : 18-48-23
Unit of work N ending 2020-01-27 : 18-48-24
Unit of work H ending 2020-01-27 : 18-48-24
Подсказка: сначала используйте pool.map()
, чтобы увидеть сообщения об ошибках перед переключением на pool.map_async()
.
В качестве альтернативы предоставьте функцию обратного вызова с ошибкой, которая повторно вызывает исключение:
def on_error(err):
raise err
results = pool.map_async(Unit_Task_Function,
iterable_arguments,
error_callback=on_error)