View Source Ash.Actions.Read.AsyncLimiter (ash v3.0.0)

A utility for limiting the number of concurrent async operations

Because this is an optimization, we opt to run something synchronously if there is no async task available in the slot. The idea here is that the vast majority of things we do async will be fast enough not to warrant always waiting for an async slot to be free. We may add in some smarter heuristics later (i.e choosing to wait for a task instead of doing the work sync), but for now this is a good start.

Summary

Functions

Link to this function

async_or_inline(query, opts, func)

View Source
Link to this function

await_at_least_one(list)

View Source

Returns a specification to start this module under a supervisor.

See Supervisor.