How to do massive concurrent http requests?

async_stream is the most standard way to to concurrent tasks with a limit on the concurrency, as far as I know. There are a few version of them

  • Task.async_stream
  • Task.Supervisor.async_stream
  • Task.Supervisor.async_stream_no_link

But to say which one is “best” depends on your situation. You would need to learn more about Elixir to know if you want supervision or linking.