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

Other Trending Topics Top

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
garrison
Hobbes is a low-level distributed database for the Elixir programming language. Hobbes provides a simple, safe, and scalable storage lay...
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
mcass19
ExRatatui lets you cook up rich terminal UIs in Elixir, powered by Rust’s ratatui via Rustler NIFs. Build interactive terminal applicatio...
New
netoum
Corex is an accessible, unstyled UI component library for Phoenix that integrates Zag.js state machines using Vanilla JavaScript and Live...
New
Damirados
Hello everyone. After busy few months I am happy to announce v0.1.0 of Emerge & Solve. They are GUI (Emerge) and State management (S...
New

We're in Beta

About us Mission Statement

Options

Thread Display Mode




Thread Preview

Skip Thread Previews