Skip to content

Audit/rewrite PNT30 flake8 lint failures to achieve more concurrency #18365

Open
@huonw

Description

@huonw

Is your feature request related to a problem? Please describe.

In #18303, a new flake8 rule is added that flags constructs like [await Get(...) for ... in ...]. If these are embarrassingly parallel (i.e. no dependencies between iterations), they should be rewritten to use MultiGet: for instance, await MultiGet(Get(...) for ... in ...).

That PR added noqa: PNT30: requires triage annotations to many instances of this, rather than fix them. This issue is about going through and either fixing them or making the annotation more specific.

Embarrassingly parallel:

  • src/python/paths/backend/go/goals/debug_goals.py
  • src/python/paths/backend/go/goals/generate.py
  • src/python/paths/backend/go/util_rules/cgo.py
  • src/python/paths/backend/go/util_rules/go_bootstrap.py
  • src/python/paths/backend/go/util_rules/goroot.py
  • src/python/paths/backend/helm/util_rules/post_renderer.py
  • src/python/paths/backend/python/framework/django/detect_apps.py
  • src/python/paths/bsp/util_rules/targets.py
  • src/python/paths/core/goals/deploy.py
  • src/python/paths/core/goals/update_build_files.py Triage some noqa: PNT30 await-in-loops #18831
  • src/python/paths/engine/internals/build_files.py Triage some noqa: PNT30 await-in-loops #18831
  • src/python/paths/engine/internals/dep_rules.py
  • src/python/paths/jvm/goals/lockfile.py
  • src/python/paths/source/source_root.py Triage some noqa: PNT30 await-in-loops #18831

Embarrassingly parallel, except there's an early return, so just moving all invocations to a MultiGet might result in more work total.

  • src/python/paths/backend/cc/util_rules/toolchain.py
  • src/python/paths/backend/python/goals/setup_py.py
  • src/python/paths/core/subsystems/python_bootstrap.py

Describe the solution you'd like
For each of the files above, rewrite the loops that call await Get(...) internally to use MultiGet.

Describe alternatives you've considered
N/A
Additional context
N/A

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions