Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
def __init__(
self,
processes: int = None,
initializer: Callable[..., None] = None,
initargs: Sequence[Any] = (),
maxtasksperchild: int = MAX_TASKS_PER_CHILD,
childconcurrency: int = CHILD_CONCURRENCY,
queuecount: Optional[int] = None,
scheduler: Scheduler = None,
) -> None:
self.context = get_context()
self.scheduler = scheduler or RoundRobin()
self.process_count = max(1, processes or os.cpu_count() or 2)
self.queue_count = max(1, queuecount or 1)
if self.queue_count > self.process_count:
raise ValueError("queue count must be <= process count")
self.initializer = initializer
self.initargs = initargs
self.maxtasksperchild = max(0, maxtasksperchild)
self.childconcurrency = max(1, childconcurrency)
self.processes: Dict[Process, QueueID] = {}
self.queues: Dict[QueueID, Tuple[Queue, Queue]] = {}