- redirect stdout and stderr in child processes to devnull instead of None

- add parfor.__version__
This commit is contained in:
Wim Pomp
2024-07-22 17:32:17 +02:00
parent 9ce96a7e61
commit 29203dd128
2 changed files with 5 additions and 3 deletions

View File

@@ -4,7 +4,8 @@ import multiprocessing
from collections import UserDict from collections import UserDict
from contextlib import ExitStack, redirect_stderr, redirect_stdout from contextlib import ExitStack, redirect_stderr, redirect_stdout
from functools import wraps from functools import wraps
from os import getpid from importlib.metadata import version
from os import devnull, getpid
from time import time from time import time
from traceback import format_exc from traceback import format_exc
from typing import Any, Callable, Hashable, Iterable, Iterator, NoReturn, Optional, Protocol, Sized, TypeVar from typing import Any, Callable, Hashable, Iterable, Iterator, NoReturn, Optional, Protocol, Sized, TypeVar
@@ -15,6 +16,7 @@ from tqdm.auto import tqdm
from .pickler import dumps, loads from .pickler import dumps, loads
cpu_count = int(multiprocessing.cpu_count()) cpu_count = int(multiprocessing.cpu_count())
__version__ = version('parfor')
Result = TypeVar('Result') Result = TypeVar('Result')
@@ -531,7 +533,7 @@ class Worker:
task = self.queue_in.get(True, 0.02) task = self.queue_in.get(True, 0.02)
try: try:
self.add_to_queue('started', task.pool_id, task.handle, pid) self.add_to_queue('started', task.pool_id, task.handle, pid)
with redirect_stdout(None), redirect_stderr(None): with redirect_stdout(open(devnull, 'w')), redirect_stderr(open(devnull, 'w')):
self.add_to_queue('done', task.pool_id, task(self.shared_memory)) self.add_to_queue('done', task.pool_id, task(self.shared_memory))
except Exception: # noqa except Exception: # noqa
self.add_to_queue('task_error', task.pool_id, task.handle, format_exc()) self.add_to_queue('task_error', task.pool_id, task.handle, format_exc())

View File

@@ -1,6 +1,6 @@
[tool.poetry] [tool.poetry]
name = "parfor" name = "parfor"
version = "2024.7.0" version = "2024.7.1"
description = "A package to mimic the use of parfor as done in Matlab." description = "A package to mimic the use of parfor as done in Matlab."
authors = ["Wim Pomp <wimpomp@gmail.com>"] authors = ["Wim Pomp <wimpomp@gmail.com>"]
license = "GPLv3" license = "GPLv3"