AD
Size: a a a
AD
_
МБ
def get_from_config(param_name) do
:ets.lookup(:config_table, param_name)
end
:ets
- это плохая идея. Лучше попробую :persistent_term
и доставай оттуда явно. Зачем тебе обёртка в виде функции, которая просто вызывает другую функцию.Application.get_all_env() |> Enum.each(fn {k, v} -> :persistent_term.put({:my_app_config, k}, v) end)
:persistent_term.get({:my_app_config, k})
сразу в коде. Без функции обёркти (хотя, если очень хочется, то можно, но только если заинлайнить)LL
:persistent_term
, если не нужен быстрый доступ, то можно через Application.fetch_evn!
, а если конфиг нужен в генсервере (а это самый частый случай) то лучше всего класть в стейт при инициализацииМБ
AB
МБ
AB
МБ
LL
Application.get_env
- это долгоLL
:persistent_term
- лучшее решениеAB
PG
AB
LL
Application.get_env
смотрит в стейт этого application
LL
AB
LL
LL
FastGlobal
, который за собой тянет compile_tools
PG