Files
music_library/lib/music_library/records/batch.ex
T
2026-04-11 21:43:00 +01:00

26 lines
706 B
Elixir

defmodule MusicLibrary.Records.Batch do
@moduledoc """
Batch operations for records: refresh MusicBrainz data and generate embeddings.
"""
import Ecto.Query
alias MusicLibrary.Batch
alias MusicLibrary.Records
alias MusicLibrary.Records.Record
@spec refresh_musicbrainz_data() :: {:ok, [String.t()]}
def refresh_musicbrainz_data do
Batch.run_on_all(from(r in Record), "record", fn record ->
Records.refresh_musicbrainz_data_async(record)
end)
end
@spec generate_embeddings() :: {:ok, [String.t()]}
def generate_embeddings do
Batch.run_on_all(from(r in Record), "record", fn record ->
Records.Similarity.generate_embedding_async(record)
end)
end
end