Make processing multiple files safer concurrence-wise
This commit is contained in:
parent
1c3e2afa1e
commit
1b37604d3a
6
mat2
6
mat2
@ -221,14 +221,14 @@ def main() -> int:
|
|||||||
files = __get_files_recursively(args.files)
|
files = __get_files_recursively(args.files)
|
||||||
# We have to use Processes instead of Threads, since
|
# We have to use Processes instead of Threads, since
|
||||||
# we're using tempfile.mkdtemp, which isn't thread-safe.
|
# we're using tempfile.mkdtemp, which isn't thread-safe.
|
||||||
|
futures = list()
|
||||||
with concurrent.futures.ProcessPoolExecutor() as executor:
|
with concurrent.futures.ProcessPoolExecutor() as executor:
|
||||||
futures = list()
|
|
||||||
for f in files:
|
for f in files:
|
||||||
future = executor.submit(clean_meta, f, args.lightweight,
|
future = executor.submit(clean_meta, f, args.lightweight,
|
||||||
inplace, args.sandbox, policy)
|
inplace, args.sandbox, policy)
|
||||||
futures.append(future)
|
futures.append(future)
|
||||||
for future in concurrent.futures.as_completed(futures):
|
for future in concurrent.futures.as_completed(futures):
|
||||||
no_failure &= future.result()
|
no_failure &= future.result()
|
||||||
return 0 if no_failure is True else -1
|
return 0 if no_failure is True else -1
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user