ityonemo

ityonemo

I’m doing a 7-part screencast that deep-dives into how Elixir (yup, that’s elixir, not erlang) does processes.

Prerequisites are understanding Elixir syntax, content ranges from beginner to “ready to become and advanced Elixir programmer”.

Showing Posts 1 to 10

eksperimental

eksperimental

Amazing introduction.
I really like the way you explain things.
keep up the good work, looking forward to the next video.

ityonemo

ityonemo OP

Part two: Tasks

(The last five chapters will be coming in… A bit less rapidly :grimacing:)

11
Post #3
ityonemo

ityonemo OP

Part 3a: Conundrum with Concurrency.

Strategies for sharding global shared state

soyjeansoy

soyjeansoy

great content btw, really helped me deep dive into processes

McTheels

McTheels

victorferreira

victorferreira

Amazing series! Can’t wait for the following episodes.

Aetherus

Aetherus

I love it! And I did learn something from the series. Thank you.

RudManusachi

RudManusachi

This is awesome! Thank you!

However, I noticed that it’s recommended to run tasks under Task.Supervisor.. But in that case looks like it loses $callers and Mox fails to define an expectation in the caller’s process and I have to :set_mox_global and forget about running tests with async: true :slightly_frowning_face:

Any suggestion?

ityonemo

ityonemo OP

Haha you got ahead of me I will address that :wink: my solution is that Elixir Std Lib should support that out of the box (and it would also be nice to have GenServers forward callers via an option too). If you absolutely must have a solution, I wrote this library: https://hexdocs.pm/multiverses/Multiverses.DynamicSupervisor.html

Note that a Task.Supervisor is actually a DynamicSupervisor

ityonemo

ityonemo OP

Hm. I took a second look at it and Task.Supervisor.start_child should be setting callers correctly:

https://github.com/elixir-lang/elixir/blob/d30c5c0185607f08797441ab8af12636ad8dbd7e/lib/elixir/lib/task/supervisor.ex#L423

Where Next? Top

Trending in Screencasts Top

Potions
Sooner or later you’ll need to run a one-off or recurring task on a deployed app, and if you deploy with releases the usual answer, a Mix...
New
ElixirCasts
Plotto is a 100% Elixir charting library with no NIFs or external dependencies. In this episode, we’ll use it to add interactive SVG char...
New

Other Trending Topics Top

GenericJam
Edit: 2026 May 15 - This post is archived. Mob is alive!! Main docs: mob v0.7.11 — Documentation A bit of explanation for the slightly c...
New
JesseHerrick
Hey, I’m Jesse and I’m the main contributor behind Dexter, a full-featured, lightning-fast Elixir LSP optimized for large codebases. It s...
New
mudasobwa
I am happy to introduce the very α version of the new programming language compiled to BEAM. Welcome Cure. It has literally three kille...
New
marciok
Hi there! We created Gust: A task orchestrator inspired by Airflow. For those who have never heard about Aiflow, it’s a Python-based wor...
New
mhanberg
Hi everyone! The first release candidate for the Expert language server project is now available! We’ve published a press release detai...
New
jimsynz
Beam Bots (or just BB for short) is a framework for building fault-tolerant robotics applications in Elixir using familiar OTP patterns. ...
New

We're in Beta

About us Mission Statement

Options

Thread Display Mode




Thread Preview

Skip Thread Previews