diff options
author | Maksim Pechnikov <parallel588@gmail.com> | 2020-06-04 17:01:45 +0300 |
---|---|---|
committer | Maksim Pechnikov <parallel588@gmail.com> | 2020-06-04 17:01:45 +0300 |
commit | 03369b5c4a2c91b26059240cfa076da4885e86e7 (patch) | |
tree | 1b07732deacea81b6a775f789b0ce5210acb6d5f | |
parent | 3fd27954122655f7a18bb75f35ad129024796010 (diff) | |
download | pleroma-03369b5c4a2c91b26059240cfa076da4885e86e7.tar.gz |
fix cache keys
-rw-r--r-- | lib/pleroma/web/activity_pub/activity_pub.ex | 12 | ||||
-rw-r--r-- | lib/pleroma/web/media_proxy/invalidation.ex | 2 | ||||
-rw-r--r-- | lib/pleroma/web/media_proxy/media_proxy.ex | 11 |
3 files changed, 12 insertions, 13 deletions
diff --git a/lib/pleroma/web/activity_pub/activity_pub.ex b/lib/pleroma/web/activity_pub/activity_pub.ex index c49972e8d..52d310dda 100644 --- a/lib/pleroma/web/activity_pub/activity_pub.ex +++ b/lib/pleroma/web/activity_pub/activity_pub.ex @@ -92,14 +92,12 @@ defmodule Pleroma.Web.ActivityPub.ActivityPub do def maybe_remove_mediaproxy_invalidation(true, %{ "object" => %{"attachment" => [_ | _] = attachments} }) do - Task.start(fn -> - attachments - |> Enum.flat_map(fn - %{"url" => urls} -> Enum.map(urls, &MediaProxy.url(&1["href"])) - _ -> [] - end) - |> MediaProxy.remove_from_deleted_urls() + attachments + |> Enum.flat_map(fn + %{"url" => urls} -> Enum.map(urls, & &1["href"]) + _ -> [] end) + |> MediaProxy.remove_from_deleted_urls() :ok end diff --git a/lib/pleroma/web/media_proxy/invalidation.ex b/lib/pleroma/web/media_proxy/invalidation.ex index 162d20262..fac731c5c 100644 --- a/lib/pleroma/web/media_proxy/invalidation.ex +++ b/lib/pleroma/web/media_proxy/invalidation.ex @@ -28,7 +28,7 @@ defmodule Pleroma.Web.MediaProxy.Invalidation do provider.purge(urls, Config.get(provider)) end - defp prepare_urls(urls) do + def prepare_urls(urls) do urls |> List.wrap() |> Enum.map(&MediaProxy.url(&1)) diff --git a/lib/pleroma/web/media_proxy/media_proxy.ex b/lib/pleroma/web/media_proxy/media_proxy.ex index b3988b946..7b8e7e823 100644 --- a/lib/pleroma/web/media_proxy/media_proxy.ex +++ b/lib/pleroma/web/media_proxy/media_proxy.ex @@ -6,30 +6,31 @@ defmodule Pleroma.Web.MediaProxy do alias Pleroma.Config alias Pleroma.Upload alias Pleroma.Web + alias Pleroma.Web.MediaProxy.Invalidation @base64_opts [padding: false] @spec in_deleted_urls(String.t()) :: boolean() - def in_deleted_urls(url), do: elem(Cachex.exists?(:deleted_urls_cache, url), 1) + def in_deleted_urls(url), do: elem(Cachex.exists?(:deleted_urls_cache, url(url)), 1) def remove_from_deleted_urls(urls) when is_list(urls) do Cachex.execute!(:deleted_urls_cache, fn cache -> - Enum.each(urls, &Cachex.del(cache, &1)) + Enum.each(Invalidation.prepare_urls(urls), &Cachex.del(cache, &1)) end) end def remove_from_deleted_urls(url) when is_binary(url) do - Cachex.del(:deleted_urls_cache, url) + Cachex.del(:deleted_urls_cache, url(url)) end def put_in_deleted_urls(urls) when is_list(urls) do Cachex.execute!(:deleted_urls_cache, fn cache -> - Enum.each(urls, &Cachex.put(cache, &1, true)) + Enum.each(Invalidation.prepare_urls(urls), &Cachex.put(cache, &1, true)) end) end def put_in_deleted_urls(url) when is_binary(url) do - Cachex.put(:deleted_urls_cache, url, true) + Cachex.put(:deleted_urls_cache, url(url), true) end def url(url) when is_nil(url) or url == "", do: nil |