diff --git a/apps/efka/src/efka_micro_service_sup.erl b/apps/efka/src/efka_micro_service_sup.erl index c4642a8..1e25708 100644 --- a/apps/efka/src/efka_micro_service_sup.erl +++ b/apps/efka/src/efka_micro_service_sup.erl @@ -47,9 +47,6 @@ start_link() -> init([]) -> SupFlags = #{strategy => one_for_one, intensity => 1000, period => 3600}, - MicroServices = micro_service_model:get_all_services(), - Specs = lists:map(fun(Service) -> child_spec(Service) end, MicroServices), - micro_service_model:insert(#micro_service{ service_id = <<"test1234">>, %% 工作目录 @@ -60,9 +57,10 @@ init([]) -> status = 1 }), - Spec1 = child_spec(<<"test1234">>), + MicroServiceIds = micro_service_model:get_all_service_ids(), + Specs = lists:map(fun(ServiceId) -> child_spec(ServiceId) end, MicroServiceIds), - {ok, {SupFlags, [Spec1|Specs]}}. + {ok, {SupFlags, [Specs]}}. %%%=================================================================== %%% Internal functions diff --git a/apps/efka/src/mnesia/micro_service_model.erl b/apps/efka/src/mnesia/micro_service_model.erl index e200d15..62ad83e 100644 --- a/apps/efka/src/mnesia/micro_service_model.erl +++ b/apps/efka/src/mnesia/micro_service_model.erl @@ -15,7 +15,7 @@ %% API -export([create_table/0]). --export([insert/1, get_all_services/0]). +-export([insert/1, get_all_services/0, get_all_service_ids/0]). -export([get_metrics/1, get_params/1, set_metrics/2, set_params/2, get_service/1, get_status/1, change_status/2]). create_table() -> @@ -133,4 +133,8 @@ get_all_services() -> Res; {'aborted', _} -> [] - end. \ No newline at end of file + end. + +-spec get_all_service_ids() -> [ServiceId :: binary()]. +get_all_service_ids() -> + mnesia:dirty_all_keys(?TAB). \ No newline at end of file