diff --git a/server/lib/orcasite/global_setup.ex b/server/lib/orcasite/global_setup.ex index 38524b4c..ed844434 100644 --- a/server/lib/orcasite/global_setup.ex +++ b/server/lib/orcasite/global_setup.ex @@ -3,12 +3,16 @@ defmodule Orcasite.GlobalSetup do Orcasite.Radio.Feed |> Ash.Query.for_read(:read) |> Orcasite.Radio.read!() - |> Enum.map(fn feed -> - with {:ok, %{timestamps: timestamps}} <- Orcasite.Radio.AwsClient.list_timestamps(feed) do - timestamps - |> Enum.map(&%{feed: feed, playlist_timestamp: &1}) - |> Orcasite.Radio.bulk_create(Orcasite.Radio.FeedStream, :create) - end - end) + |> Task.async_stream( + fn feed -> + with {:ok, %{timestamps: timestamps}} <- Orcasite.Radio.AwsClient.list_timestamps(feed) do + timestamps + |> Enum.map(&%{feed: feed, playlist_timestamp: &1}) + |> Orcasite.Radio.bulk_create(Orcasite.Radio.FeedStream, :create) + end + end, + max_concurrency: 1 + ) + |> Enum.to_list() end end