LINUX.ORG.RU

Правильное завершение Pool

 , ,


0

1

Есть конструкция:

		with Pool(int(10)) as p:
			p.map(self.make_all, f)
в make_all происходят нужные операции, при достижении успеха в одном из пулов, нужно завершить конструкцию и отобразить результат в консоль, пробовал использовать sys.exit(0), но это уж больно не то, так как вылетают сначала кучу:
objc[62755]: +[__NSPlaceholderDate initialize] may have been in progress in another thread when fork() was called.
objc[62755]: +[__NSPlaceholderDate initialize] may have been in progress in another thread when fork() was called. 
We cannot safely call it or ignore it in the fork() child process. Crashing instead. Set a breakpoint on objc_initializeAfterForkError to d
и отображает последний результат каждого пула на котором он крешнулся...

	  host_pool = Pool(len(host_tasks))
	  host_results = [host_pool.apply_async(change_host_password, task) for task in host_tasks]
	  for r in host_results:
	    try:
	      a = r.get(60)
              print ...
	    except Exception as ex:
	      ... 
	      
	  host_pool.close()
	  host_pool.join()    

kto_tama ★★★★★ ()
Последнее исправление: kto_tama (всего исправлений: 1 )
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.