Files
music_library/lib/music_library/worker/fetch_artist_image.ex
T
2025-04-28 20:12:15 +01:00

21 lines
475 B
Elixir

defmodule MusicLibrary.Worker.FetchArtistImage do
use Oban.Worker, queue: :heavy_writes, max_attempts: 3
@impl Oban.Worker
def perform(%Oban.Job{args: %{"id" => artist_id}}) do
case MusicLibrary.Artists.fetch_image(artist_id) do
{:ok, _artist_info} ->
:ok
{:error, :image_not_found} ->
{:cancel, :image_not_found}
{:error, :no_discogs_data} ->
{:cancel, :no_discogs_data}
error ->
error
end
end
end