From 4eaaed1904a4eb5cf81a26718e1aed928ad7165d Mon Sep 17 00:00:00 2001 From: anlicheng <244108715@qq.com> Date: Thu, 8 May 2025 11:08:26 +0800 Subject: [PATCH] simple efka --- apps/efka/include/efka.hrl | 3 +-- apps/efka/src/efka_agent.erl | 31 ++++--------------------------- 2 files changed, 5 insertions(+), 29 deletions(-) diff --git a/apps/efka/include/efka.hrl b/apps/efka/include/efka.hrl index 6614a2f..f6afffe 100644 --- a/apps/efka/include/efka.hrl +++ b/apps/efka/include/efka.hrl @@ -34,8 +34,7 @@ %% 部署微服务 -define(METHOD_DEPLOY, 16#10). --define(METHOD_PRAMAS, 16#11). --define(METHOD_METRICS, 16#12). +-define(METHOD_CONFIG, 16#11). %% 事件类型 -define(EVENT_DEVICE, 16#01). diff --git a/apps/efka/src/efka_agent.erl b/apps/efka/src/efka_agent.erl index 75424eb..467818a 100644 --- a/apps/efka/src/efka_agent.erl +++ b/apps/efka/src/efka_agent.erl @@ -259,9 +259,9 @@ handle_info({server_push_message, PacketId, <>}, State = #state{transport_pid = TransportPid, inflight = Inflight}) -> - #service_params{service_id = ServiceId, params = Params, timeout = Timeout} = message_pb:decode_msg(ParamsBin, service_params), +%% config.json配置信息 +handle_info({server_push_message, PacketId, <>}, State = #state{transport_pid = TransportPid, inflight = Inflight}) -> + #service_config{service_id = ServiceId, config_json = ConfigJson, timeout = Timeout} = message_pb:decode_msg(ParamsBin, service_params), case efka_micro_service:get_pid(ServiceId) of undefined -> @@ -273,7 +273,7 @@ handle_info({server_push_message, PacketId, < Ref = make_ref(), - efka_micro_service:push_params(ServicePid, Ref, Params), + efka_micro_service:push_config(ServicePid, Ref, ConfigJson), %% 处理超时逻辑 erlang:start_timer(Timeout * 1000, self(), {request_timeout, Ref}), @@ -282,29 +282,6 @@ handle_info({server_push_message, PacketId, <>}, State = #state{inflight = Inflight}) -> - #service_metrics{service_id = ServiceId, metrics = Metrics, timeout = Timeout} = message_pb:decode_msg(MetricsBin, service_metrics), - - case efka_micro_service:get_pid(ServiceId) of - undefined -> - Reply = #efka_response{ - code = 0, - message = <<"service not run">> - }, - safe_response(PacketId, message_pb:encode_msg(Reply), State), - - {noreply, State}; - ServicePid when is_pid(ServicePid) -> - Ref = make_ref(), - efka_micro_service:push_metrics(ServicePid, Ref, Metrics), - - %% 处理超时逻辑 - erlang:start_timer(Timeout * 1000, self(), {request_timeout, Ref}), - - {noreply, State#state{inflight = maps:put(Ref, PacketId, Inflight)}} - end; - %% 收到来自efka_micro_service的回复 handle_info({ems_reply, Ref, EmsReply}, State = #state{inflight = Inflight}) -> case maps:take(Ref, Inflight) of