Skip to content

Instantly share code, notes, and snippets.

@firemanxbr
Created April 26, 2019 08:10
Show Gist options
  • Save firemanxbr/36ab1772747fd072f28ec893d46e87e5 to your computer and use it in GitHub Desktop.
Save firemanxbr/36ab1772747fd072f28ec893d46e87e5 to your computer and use it in GitHub Desktop.
Multiprocessing Python
import time
from concurrent.futures import ProcessPoolExecutor
from concurrent.futures import ThreadPoolExecutor
def process_nodes1(node):
time.sleep(10)
return f'Primeira... {node["name"]}'
def process_nodes2(node):
time.sleep(10)
return f'Segunda... {node["name"]}'
if __name__ == '__main__':
nodes1 = [{'name': 'foo'},
{'name': 'foo2'},
{'name': 'foo3'},
{'name': 'foo4'},
{'name': 'foo5'},
{'name': 'foo6'},
{'name': 'foo7'},
{'name': 'foo8'},
{'name': 'foo9'},
{'name': 'foo10'}]
with ThreadPoolExecutor(max_workers=5) as exec:
for result in exec.map(process_nodes1, nodes1):
print(result)
nodes2 = [{'name': 'foo'},
{'name': 'foo2'},
{'name': 'foo3'},
{'name': 'foo4'},
{'name': 'foo10'}]
with ThreadPoolExecutor(max_workers=5) as exec:
for result in exec.map(process_nodes2, nodes2):
print(result)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment