chore: repalce fresh by refresh

This commit is contained in:
Zhongwen Deng 2023-02-01 17:36:30 +08:00
parent 3c4d09a752
commit 6382915036
1 changed files with 11 additions and 11 deletions

View File

@ -29,7 +29,7 @@
get_sys_memory() -> get_sys_memory() ->
case get_memory_from_cache() of case get_memory_from_cache() of
{ok, CacheMem} -> {ok, CacheMem} ->
erlang:send(?MODULE, fresh_sys_memory), erlang:send(?MODULE, refresh_sys_memory),
CacheMem; CacheMem;
stale -> stale ->
get_sys_memory_sync() get_sys_memory_sync()
@ -48,10 +48,10 @@ start_link() ->
init([]) -> init([]) ->
ets:new(?MODULE, [set, named_table, public, {keypos, 1}]), ets:new(?MODULE, [set, named_table, public, {keypos, 1}]),
{ok, #{fresh_at => 0}}. {ok, #{latest_refresh => 0}}.
handle_call(get_sys_memory, _From, State) -> handle_call(get_sys_memory, _From, State) ->
{Mem, NewState} = fresh_sys_memory(State), {Mem, NewState} = refresh_sys_memory(State),
{reply, Mem, NewState}; {reply, Mem, NewState};
handle_call(_Request, _From, State) -> handle_call(_Request, _From, State) ->
{reply, ok, State}. {reply, ok, State}.
@ -59,8 +59,8 @@ handle_call(_Request, _From, State) ->
handle_cast(_Request, State) -> handle_cast(_Request, State) ->
{noreply, State}. {noreply, State}.
handle_info(fresh_sys_memory, State) -> handle_info(refresh_sys_memory, State) ->
{_, NewState} = fresh_sys_memory(State), {_, NewState} = refresh_sys_memory(State),
{noreply, NewState}; {noreply, NewState};
handle_info(_Info, State) -> handle_info(_Info, State) ->
{noreply, State}. {noreply, State}.
@ -75,23 +75,23 @@ code_change(_OldVsn, State, _Extra) ->
%%% Internal functions %%% Internal functions
%%%=================================================================== %%%===================================================================
fresh_sys_memory(State = #{fresh_at := LastFreshAt}) -> refresh_sys_memory(State = #{latest_refresh := LatestRefresh}) ->
Now = now_millisecond(), Now = now_millisecond(),
case Now - LastFreshAt >= ?REFRESH_MS of case Now - LatestRefresh >= ?REFRESH_MS of
true -> true ->
do_fresh_sys_memory(Now, State); do_refresh_sys_memory(Now, State);
false -> false ->
case get_memory_from_cache() of case get_memory_from_cache() of
stale -> do_fresh_sys_memory(Now, State); stale -> do_refresh_sys_memory(Now, State);
{ok, Mem} -> {Mem, State} {ok, Mem} -> {Mem, State}
end end
end. end.
do_fresh_sys_memory(FreshAt, State) -> do_refresh_sys_memory(RefreshAt, State) ->
NewMem = load_ctl:get_sys_memory(), NewMem = load_ctl:get_sys_memory(),
NewExpiredAt = now_millisecond() + ?EXPIRED_MS, NewExpiredAt = now_millisecond() + ?EXPIRED_MS,
ets:insert(?MODULE, {?SYS_MEMORY_KEY, {NewMem, NewExpiredAt}}), ets:insert(?MODULE, {?SYS_MEMORY_KEY, {NewMem, NewExpiredAt}}),
{NewMem, State#{fresh_at => FreshAt}}. {NewMem, State#{latest_refresh => RefreshAt}}.
get_memory_from_cache() -> get_memory_from_cache() ->
case ets:lookup(?MODULE, ?SYS_MEMORY_KEY) of case ets:lookup(?MODULE, ?SYS_MEMORY_KEY) of