@@ -320,6 +320,13 @@ defmodule MusicLibrary.Records do
|
|||||||
)
|
)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@spec regenerate_artist_embeddings(String.t()) :: :ok
|
||||||
|
def regenerate_artist_embeddings(artist_id) do
|
||||||
|
artist_id
|
||||||
|
|> get_artist_records()
|
||||||
|
|> Enum.each(&generate_embedding_async/1)
|
||||||
|
end
|
||||||
|
|
||||||
@spec resize_cover(Record.t()) :: {:ok, Record.t()} | {:error, term()}
|
@spec resize_cover(Record.t()) :: {:ok, Record.t()} | {:error, term()}
|
||||||
def resize_cover(record) do
|
def resize_cover(record) do
|
||||||
with {:ok, thumb_data} <- Assets.Image.resize(record.cover_data),
|
with {:ok, thumb_data} <- Assets.Image.resize(record.cover_data),
|
||||||
|
|||||||
@@ -8,15 +8,7 @@ defmodule MusicLibrary.Worker.FetchArtistInfo do
|
|||||||
{:ok, _artist_info} <- MusicLibrary.Artists.fetch_image(artist_id) do
|
{:ok, _artist_info} <- MusicLibrary.Artists.fetch_image(artist_id) do
|
||||||
# fetch_lastfm_data returns {:ok, _} even on API errors, so it won't block embeddings
|
# fetch_lastfm_data returns {:ok, _} even on API errors, so it won't block embeddings
|
||||||
MusicLibrary.Artists.fetch_lastfm_data(artist_id)
|
MusicLibrary.Artists.fetch_lastfm_data(artist_id)
|
||||||
regenerate_record_embeddings(artist_id)
|
MusicLibrary.Records.regenerate_artist_embeddings(artist_id)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
defp regenerate_record_embeddings(artist_id) do
|
|
||||||
artist_id
|
|
||||||
|> MusicLibrary.Records.get_artist_records()
|
|
||||||
|> Enum.each(fn record ->
|
|
||||||
MusicLibrary.Records.generate_embedding_async(record)
|
|
||||||
end)
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
|
|||||||
Reference in New Issue
Block a user