add caching

This commit is contained in:
rinpatch 2019-01-16 10:26:01 +03:00
commit 70b2bb6ede
3 changed files with 22 additions and 1 deletions

View file

@ -2,6 +2,16 @@ defmodule Pleroma.Web.Metadata do
alias Phoenix.HTML
@parsers Pleroma.Config.get([:metadata, :providers], [])
def get_cached_tags(params) do
# I am unsure how well ETS works with big keys
key = :erlang.term_to_binary(params)
Cachex.fetch!(:metadata_cache, key, fn _key ->
{:commit, build_tags(params)}
end)
end
def build_tags(params) do
Enum.reduce(@parsers, "", fn parser, acc ->
rendered_html =