Practical Elixir Flow
summary
Implements an Elixir pipeline using GenStage and Flow to fetch Github favorites over a paginated API (15 pages, 25 repos/page) and aggregate by month; calling take 100 triggers four page requests, showing the concrete cost of eager operations. Uses stream.resource to separate fetching from consumption, demonstrates tuning max_demand/min_demand to avoid serial bottlenecks, and exposes a real correctness hazard where parallel group_by produces duplicate keys unless explicit partitioning is used; code is open source and runnable.
AI-written summary · about
chapters (14)
- 0:00Introduction
- 2:06Collections
- 5:15Streams
- 7:28Example
- 15:12Sequential Processing
- 17:22Properties
- 19:00GenStage
- 24:24GenStage Properties
- 24:56Level of Optimization
- 27:39Limit Regulation
- 30:47aggregation
- 32:46duplicate keys
- 35:04partitioning
- 37:53data loss
related talks
40mReinventing Haxl: Efficient, Concurrent and Concise Data Access
34mFrom Front End to Full Stack with Elixir and Phoenix
25mReactor Under the Hood: Building a Graph-Based Saga Orchestrator in Elixir
27mModern Paging at Scale: StoreX + Compose
33mExperimental Patterns in ActiveRecord
38mThree Games In Elixir
50mHow Flow Works & Other Curiosities
28mConcurrency, Functional Paradigm and Dynamic Flow Control in Multimedia Processing
