Monthly Archives: July 2018

PoolToy: A (toy) process pool manager in Elixir 1.6 (part 1.9)

Managing a single pool (continued) (This post is part of a series on writing a process pool manager in Elixir.) Figuring out the shenanigans Let’s get on the same page (after last post) as to what is happening when we … Continue reading

Posted in Elixir | Comments Off on PoolToy: A (toy) process pool manager in Elixir 1.6 (part 1.9)

PoolToy: A (toy) process pool manager in Elixir 1.6 (part 1.8)

Managing a single pool (continued) (This post is part of a series on writing a process pool manager in Elixir.) First, let’s point out the problem in our current pool design as we left after last post: our pool manager’s … Continue reading

Posted in Elixir | Comments Off on PoolToy: A (toy) process pool manager in Elixir 1.6 (part 1.8)

PoolToy: A (toy) process pool manager in Elixir 1.6 (part 1.7)

Managing a single pool (continued) (This post is part of a series on writing a process pool manager in Elixir.) We’ve now realized (in last post) that storing the references to the client monitors in a map was a bit … Continue reading

Posted in Elixir | Comments Off on PoolToy: A (toy) process pool manager in Elixir 1.6 (part 1.7)

PoolToy: A (toy) process pool manager in Elixir 1.6 (part 1.6)

Managing a single pool (continued) (This post is part of a series on writing a process pool manager in Elixir.) So we’ve got a working pool we can check worker processes in/out of (previous post). However, we’re not handling dying … Continue reading

Posted in Elixir | Comments Off on PoolToy: A (toy) process pool manager in Elixir 1.6 (part 1.6)

PoolToy: A (toy) process pool manager in Elixir 1.6 (part 1.5)

Managing a single pool (continued) (This post is part of a series on writing a process pool manager in Elixir.) After last post, we’ve got a pretty fancy-looking pool: Unfortunately, we don’t have any sort of mechanism to make use … Continue reading

Posted in Elixir | Comments Off on PoolToy: A (toy) process pool manager in Elixir 1.6 (part 1.5)

PoolToy: A (toy) process pool manager in Elixir 1.6 (part 1.4)

Managing a single pool (continued) (This post is part of a series on writing a process pool manager in Elixir.) After the last part, we’ve made some headway but still need some workers: More useful state Let’s start by enhancing … Continue reading

Posted in Elixir | Comments Off on PoolToy: A (toy) process pool manager in Elixir 1.6 (part 1.4)

PoolToy: A (toy) process pool manager in Elixir 1.6 (part 1.3)

Managing a single pool (continued) (This post is part of a series on writing a process pool manager in Elixir.) In the previous post, we managed to get our pool supervisor to start the pool manager. Now, our next objective … Continue reading

Posted in Elixir | Comments Off on PoolToy: A (toy) process pool manager in Elixir 1.6 (part 1.3)

PoolToy: A (toy) process pool manager in Elixir 1.6 (part 1.2)

Managing a single pool (continued) (This post is part of a series on writing a process pool manager in Elixir.) Continuing from the previous post, we’re working on having a single pool of processes that we can check out to … Continue reading

Posted in Elixir | Comments Off on PoolToy: A (toy) process pool manager in Elixir 1.6 (part 1.2)

PoolToy: A (toy) process pool manager in Elixir 1.6 (part 1.1)

A new project (This post is part of a series on writing a process pool manager in Elixir.) Without further ado, let’s get started with PoolToy: mix new pool_toy Pools will contain worker processes that will actually be doing the … Continue reading

Posted in Elixir | Comments Off on PoolToy: A (toy) process pool manager in Elixir 1.6 (part 1.1)

PoolToy: A (toy) process pool manager in Elixir 1.6

Contents This series of posts will guide you in writing an OTP application that will manage pools of processes. In particular, it will do so using features introduced in Elixir 1.6 such as the DynamicSupervisor and the Registry. There’s quite … Continue reading

Posted in Elixir | Comments Off on PoolToy: A (toy) process pool manager in Elixir 1.6