Log In
0% completed
All Lessons
Free Lessons (5)
Getting Started
What Does This Course Cover?
Course Prerequisites and Intended Audience
Easy Concurrency with the Task Module
Introduction to Concurrency
An Introduction to the Task Module
Create the Playground
Start Tasks and Retrieve Results
Synchronous vs. Asynchronous Programs
Retrieve a Task’s Results
Use the await and yield Functions to Retrieve Results
Stop a Task and Async Task
Manage a Series of Tasks
Parameters of the async_stream Function
Link Processes
Meet the Supervisor
Use Task.Supervisor
Understand the “Let It Crash” Philosophy
Wrapping Up
Quiz: Easy Concurrency with the Task Module
Long-Running Processes Using GenServer
Long-running Processes and Starting GenServer
GenServer Callbacks: init
GenServer Callbacks: handle_continue and handle_call
Genserver Callbacks: handle_cast
GenServer Callbacks: handle_info
GenServer Callbacks: terminate
Make Improvements to Our GenServer
The blueprint of our job-processing system
How to Use Anonymous Functions
Introduce DynamicSupervisor
Process Restart Values and Frequency
Implement a Supervisor
Supervisor Strategies
Registry Processes
Register New Processes and Query the Registry
Limit Concurrency and Inspect the Supervisors
Examine Running Processes and Stop the Supervisors
Wrapping Up
Quiz: Long-running Processes Using GenServer
Data Processing Pipelines with GenStage
Back-Pressure
Introduce GenStage
The Producer and Consumer
Build the Data Processing Pipeline
Understand Consumer Demand
Revisiting the Producer
Add More Consumers and Buffer Events
Add Concurrency With ConsumerSupervisor
Create Multi-stage Data Pipelines
Scale Up a Stage with Extra Processes
Choose the Right Dispatcher
Wrapping Up
Quiz: Data Processing Pipelines with GenStage
Process Collections with Flow
Introduction to the Flow Library
Read Files
Improve Performance with Streams
Run Streams Concurrently and Understand Flows
The reduce Function
Route Events with Partitions
Group and Sort
Windows and Triggers
Get Snapshots from Slow-running or Infinite Flows
Add Flow to a GenStage Pipeline
Wrapping Up
Quiz: Process Collections with Flow
Data Ingestion Pipelines with Broadway
Introduction to the Broadway Library
Process Ticketing Events
The Details of Broadway Callbacks
Implement handle_message/3
Implement prepare_messages/2
Implement handle_failed/3
Batch Messages
Implement Batching and handle_batch/4
Static Batching
Use Dynamic Batching
Adjust Batch Size and Timeout
Use GenStage Producers
Configure the Scraping Pipeline
Wrapping Up
Quiz: Data Ingestion Pipelines with Broadway
Concluding the Course
Course Summary
Concurrent Data Processing in Elixir
/
...
/
Wrapping Up
Wrapping Up
Let's wrap up the contents we've learned so far.
We'll cover the following...
Elixir processes
Supervisors
Limitations of the Task module
Elixir processes
...