[Elixir] Task (async, await)
|AI Summary
- Elixir의 Task 모듈을 사용해 async와 await 기능을 다양한 예제로 소개한다.
Task.async_stream은 스트림의 각 요소를 비동기 처리하고 결과를 순차적으로 합산하는 데 사용된다.Task.async_stream과Stream.take를 조합해 일부 요소만 비동기로 처리하고 결과를 리스트로 변환할 수 있다.Task.async로 비동기 작업을 생성하고Task.await로 결과를 기다려 합산 결과를 얻는 예시가 있다.- 여러 비동기 작업을 리스트로 만들고
Task.await_many로 한꺼번에 결과를 받을 수 있다. - 공식 문서와 예제 코드는 참고 링크를 통해 확인할 수 있다.
Introduction
Elixir의Task를 통해async,await를 사용하는 다양한 방법에 대해 코드로 간단히 소개해보겠다.
async_stream
unbound async + take
async / await
await_many
References
- https://hexdocs.pm/elixir/Task.html
- https://github.com/bossm0n5t3r/learning-elixir/blob/master/31-task.exs