diff --git a/lib/frenzy/task/create_item.ex b/lib/frenzy/task/create_item.ex index 017fae1..2020df5 100644 --- a/lib/frenzy/task/create_item.ex +++ b/lib/frenzy/task/create_item.ex @@ -66,6 +66,14 @@ defmodule Frenzy.Task.CreateItem do case result do {:error, error} -> Logger.error(error) + + if Frenzy.sentry_enabled?() do + Sentry.capture_message( + "Error evaluating pipeline '#{feed.pipeline.name}': #{inspect(error)}", + extra: %{feed_id: feed.id, pipeline_id: feed.pipeline.id} + ) + end + :error {:ok, item_params} -> @@ -96,6 +104,12 @@ defmodule Frenzy.Task.CreateItem do _ -> Logger.error("Error inserting item #{item_params.guid}") Logger.error(changeset.errors) + + if Frenzy.sentry_enabled?() do + Sentry.capture_message("Error inserting item '#{item_params.guid}'", + extra: %{feed_id: feed.id, errors: changeset.errors} + ) + end end end end diff --git a/lib/frenzy/update_feeds.ex b/lib/frenzy/update_feeds.ex index 2bc20d8..a5af87a 100644 --- a/lib/frenzy/update_feeds.ex +++ b/lib/frenzy/update_feeds.ex @@ -141,8 +141,20 @@ defmodule Frenzy.UpdateFeeds do {:ok, %Tesla.Env{status: status}} -> Logger.error("Couldn't load feed #{feed.feed_url}: HTTP #{status}") + if Frenzy.sentry_enabled?() do + Sentry.capture_message("Got HTTP #{status} when loading feed '#{feed.feed_url}'", + extra: %{feed_id: feed.id} + ) + end + {:error, reason} -> Logger.error("Couldn't load feed #{feed.feed_url}: #{inspect(reason)}") + + if Frenzy.sentry_enabled?() do + Sentry.capture_message("Error loading HTTP feed '#{feed.feed_url}': #{inspect(reason)}", + extra: %{feed_id: feed.id} + ) + end end end @@ -153,6 +165,13 @@ defmodule Frenzy.UpdateFeeds do {:error, reason} -> Logger.error("Couldn't load feed #{feed.feed_url}: #{inspect(reason)}") + + if Frenzy.sentry_enabled?() do + Sentry.capture_message( + "Error loading Gemini feed '#{feed.feed_url}': #{inspect(reason)}", + extra: %{feed_id: feed.id} + ) + end end end @@ -163,6 +182,12 @@ defmodule Frenzy.UpdateFeeds do {:error, reason} -> Logger.error("Unable to parse feed at '#{feed.feed_url}': #{inspect(reason)}") + + if Frenzy.sentry_enabled?() do + Sentry.capture_message("Unable to parse feed '#{feed.feed_url}': #{inspect(reason)}", + extra: %{feed_id: feed.id} + ) + end end end