Task

yield/2

yield(task, timeout \\ 5000)

Blocks the caller until the given %Task{} finishes and returns its result as {:ok, result}.

If the task doesn’t complete within timeout milliseconds (default 5000), nil is returned instead of exiting, and the task keeps running.