def use_multiprocessing_with_queue2():
queue = multiprocessing.JoinableQueue()
num_consumers = multiprocessing.cpu_count() * 2
results_queue = multiprocessing.Queue()
for article in Article.objects.all()[5:8]:
queue.put(article)
for _ in range(num_consumers):
p = multiprocessing.Process(target=save_article_result_with_queue2,
args=(queue, results_queue))
p.start()
queue.join()
results = []
while 1:
try:
updated_article = results_queue.get(timeout=1)
except Empty:
break
results.append(updated_article)
print len(results)
评论列表
文章目录