ash-project / reactor

Reactor is a dynamic, concurrent, dependency resolving saga orchestrator.
https://ash-hq.org/
MIT License
44 stars 6 forks source link

improvement(Executor): track concurrent process usage across multiple Reactors. #26

Closed jimsynz closed 1 year ago

jimsynz commented 1 year ago

We use an atomic counter implemented with ETS to keep track of the number of available concurrency slots for a given key. That key can be explicitly passed into a Reactor, or allocated directly by a Reactor. This gives users the option to share concurrency limits across Reactors, or not at their own discretion.