Skip to content

Commit

Permalink
Add --workers CLI parameter (fixes psf#2513)
Browse files Browse the repository at this point in the history
  • Loading branch information
FHTMitchell committed Sep 27, 2021
1 parent 39b55f7 commit 23b1f7a
Show file tree
Hide file tree
Showing 2 changed files with 19 additions and 2 deletions.
4 changes: 4 additions & 0 deletions CHANGES.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,10 @@

## Unreleased

### _Black_

- Add new `--workers` parameter (#2514)

### _Blackd_

- Remove dependency on aiohttp-cors (#2500)
Expand Down
17 changes: 15 additions & 2 deletions src/black/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -318,6 +318,12 @@ def validate_regex(
"editors that rely on using stdin."
),
)
@click.option(
"-W",
"--workers",
type=int,
help="Number of parallel workers [default: os.cpu_count()]",
)
@click.option(
"-q",
"--quiet",
Expand Down Expand Up @@ -383,6 +389,7 @@ def main(
extend_exclude: Optional[Pattern],
force_exclude: Optional[Pattern],
stdin_filename: Optional[str],
workers: Optional[int],
src: Tuple[str, ...],
config: Optional[str],
) -> None:
Expand Down Expand Up @@ -468,6 +475,7 @@ def main(
write_back=write_back,
mode=mode,
report=report,
workers=workers,
)

if verbose or not quiet:
Expand Down Expand Up @@ -644,12 +652,17 @@ def reformat_one(


def reformat_many(
sources: Set[Path], fast: bool, write_back: WriteBack, mode: Mode, report: "Report"
sources: Set[Path],
fast: bool,
write_back: WriteBack,
mode: Mode,
report: "Report",
workers: Optional[int],
) -> None:
"""Reformat multiple files using a ProcessPoolExecutor."""
executor: Executor
loop = asyncio.get_event_loop()
worker_count = os.cpu_count()
worker_count = workers if workers is not None else os.cpu_count()
if sys.platform == "win32":
# Work around https://bugs.python.org/issue26903
worker_count = min(worker_count, 60)
Expand Down

0 comments on commit 23b1f7a

Please sign in to comment.