Skip to content

Concurrency limit is not applied in async transport #34

Open

Description

@Baptouuuu

When one wants to limit the concurrency for a process it can use the $config->limitConcurrencyTo(). However with the async strategy it does not inherit this configuration and if applied for each async transport again it's not a shared limit and may exceed the operating system limit.

Thanks to #31 it will be easier to inherit the limit. However a new limit directly applied to the async transport must superseed the inherited limit.

When inheriting the limit, an async transport must not starve other transports if it has a lot of requests to do.

Activity

  1. Baptouuuu commented on Aug 23, 2026

    @Baptouuuu
    MemberAuthor

    Since #36 the same limitation is applied for each transport.

    To fully centralize the limitation it will need a rework of the way requests are watched by using the future Io\Poll PHP API. This way instead of each fiber to manage its limitation it will tell the scheduler to watch for the requests.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions