Skip to content

Commit 87be67b

Browse files
committed
refactor: use context manager for multiprocessing.Pool in deletion.py
1 parent b5949c0 commit 87be67b

File tree

1 file changed

+6
-9
lines changed

1 file changed

+6
-9
lines changed

src/cobra/flux_analysis/deletion.py

Lines changed: 6 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
# -*- coding: utf-8 -*-
22

33
import logging
4-
import multiprocessing
54
from builtins import dict, map
65
from functools import partial
76
from itertools import product
7+
from multiprocessing import Pool
88
from typing import List, Set, Union
99

1010
import pandas as pd
@@ -149,14 +149,11 @@ def extract_knockout_results(result_iter):
149149
gene=_gene_deletion_worker, reaction=_reaction_deletion_worker
150150
)[entity]
151151
chunk_size = len(args) // processes
152-
pool = multiprocessing.Pool(
153-
processes, initializer=_init_worker, initargs=(model,)
154-
)
155-
results = extract_knockout_results(
156-
pool.imap_unordered(worker, args, chunksize=chunk_size)
157-
)
158-
pool.close()
159-
pool.join()
152+
153+
with Pool(processes, initializer=_init_worker, initargs=(model,)) as pool:
154+
results = extract_knockout_results(
155+
pool.imap_unordered(worker, args, chunksize=chunk_size)
156+
)
160157
else:
161158
worker = dict(gene=_gene_deletion, reaction=_reaction_deletion)[entity]
162159
results = extract_knockout_results(map(partial(worker, model), args))

0 commit comments

Comments
 (0)