forked from YokaiRick/akkoma
rich media: parser: cache negatives
This commit is contained in:
parent
8fb16e9f0f
commit
83b7062634
1 changed files with 9 additions and 7 deletions
|
@ -15,11 +15,13 @@ def parse(nil), do: {:error, "No URL provided"}
|
|||
def parse(url), do: parse_url(url)
|
||||
else
|
||||
def parse(url) do
|
||||
with {:ok, data} <- Cachex.fetch(:rich_media_cache, url, fn _ -> parse_url(url) end) do
|
||||
data
|
||||
else
|
||||
_e ->
|
||||
{:error, "Parsing error"}
|
||||
try do
|
||||
Cachex.fetch!(:rich_media_cache, url, fn _ ->
|
||||
{:commit, parse_url(url)}
|
||||
end)
|
||||
rescue
|
||||
e ->
|
||||
{:error, "Cachex error: #{inspect(e)}"}
|
||||
end
|
||||
end
|
||||
end
|
||||
|
@ -30,8 +32,8 @@ defp parse_url(url) do
|
|||
|
||||
html |> maybe_parse() |> get_parsed_data()
|
||||
rescue
|
||||
_e ->
|
||||
{:error, "Parsing error"}
|
||||
e ->
|
||||
{:error, "Parsing error: #{inspect(e)}"}
|
||||
end
|
||||
end
|
||||
|
||||
|
|
Loading…
Reference in a new issue