To make this happen, you could do something like:
Stream.repeatedly(&start_new_worker/0)
|> Enum.take(max(target - workers_online(), 0))
To make this happen, you could do something like:
Stream.repeatedly(&start_new_worker/0)
|> Enum.take(max(target - workers_online(), 0))