GenStage :producer_consumer concurrency limitations

It seems that in the GenStage :producer_consumer stage, the capacity of the stage is limited by the handle_event callback and the number of :producer_consumer workers started. Is this accurate?

For example, I have a :producer_consumer stage which receives 10,000 users from a :producer and refreshes the access token for each on an external API, then sends the new token along to a :producer. Unless I start 10,000 :producer_consumer workers, each of these calls to an external API will be processed serially in handle_event, correct?

Correct. You leverage concurrency by starting many of them.

1 Like

Thank you!