fix task_log
This commit is contained in:
parent
738f16ecba
commit
17a1caab04
@ -109,15 +109,6 @@
|
||||
}).
|
||||
-endif.
|
||||
|
||||
-ifndef('FEEDBACK_PHASE_PB_H').
|
||||
-define('FEEDBACK_PHASE_PB_H', true).
|
||||
-record(feedback_phase,
|
||||
{task_id = <<>> :: unicode:chardata() | undefined, % = 1, optional
|
||||
phase = <<>> :: unicode:chardata() | undefined, % = 2, optional
|
||||
timestamp = 0 :: non_neg_integer() | undefined % = 3, optional, 32 bits
|
||||
}).
|
||||
-endif.
|
||||
|
||||
-ifndef('EVENT_PB_H').
|
||||
-define('EVENT_PB_H', true).
|
||||
-record(event,
|
||||
|
||||
@ -115,11 +115,11 @@ handle_info({'EXIT', TaskPid, Reason}, State = #state{task_map = TaskMap}) ->
|
||||
case Reason of
|
||||
normal ->
|
||||
lager:debug("[efka_inetd] service_id: ~p, task_pid: ~p, exit normal", [ServiceId, TaskPid]),
|
||||
efka_agent:feedback_phase(TaskId, efka_util:timestamp(), <<"task completed">>);
|
||||
efka_inetd_task_log:flush(TaskId);
|
||||
Error ->
|
||||
lager:debug("[efka_inetd] service_id: ~p, task_pid: ~p, exit with error: ~p", [ServiceId, TaskPid, Error]),
|
||||
%% 下载完整
|
||||
efka_agent:feedback_phase(TaskId, efka_util:timestamp(), <<"task aborted">>),
|
||||
lager:notice("[efka_inetd] service_id: ~p, task_pid: ~p, exit with error: ~p", [ServiceId, TaskPid, Error]),
|
||||
efka_inetd_task_log:stash(TaskId, <<"task aborted">>),
|
||||
efka_inetd_task_log:flush(TaskId),
|
||||
{noreply, State#state{task_map = NTaskMap}}
|
||||
end
|
||||
end;
|
||||
|
||||
@ -75,8 +75,10 @@ handle_call(_Request, _From, State = #state{}) ->
|
||||
{stop, Reason :: term(), NewState :: #state{}}).
|
||||
handle_cast(deploy, State = #state{task_id = TaskId, service_root_dir = ServiceRootDir, service_id = ServiceId, tar_url = TarUrl}) ->
|
||||
case download(binary_to_list(TarUrl), ServiceRootDir) of
|
||||
{ok, TarFile} ->
|
||||
efka_agent:feedback_phase(TaskId, efka_util:timestamp(), <<"download completed">>),
|
||||
{ok, TarFile, CostTs} ->
|
||||
Log = io_lib:format("download: ~p completed, cost time: ~p(ms)", [binary_to_list(TarUrl), CostTs]),
|
||||
efka_inetd_task_log:stash(TaskId, list_to_binary(Log)),
|
||||
|
||||
{ok, WorkDir} = make_work_dir(ServiceRootDir),
|
||||
%% 清理目录下的文件
|
||||
Result = delete_directory(WorkDir),
|
||||
@ -96,16 +98,16 @@ handle_cast(deploy, State = #state{task_id = TaskId, service_root_dir = ServiceR
|
||||
%% 状态: 0: 停止, 1: 运行中
|
||||
status = 0
|
||||
}),
|
||||
efka_agent:feedback_phase(TaskId, efka_util:timestamp(), <<"deploy success">>),
|
||||
{stop, normal, State};
|
||||
efka_inetd_task_log:stash(TaskId, <<"deploy success">>);
|
||||
{error, Reason} ->
|
||||
efka_agent:feedback_phase(TaskId, efka_util:timestamp(), <<"tar decompression error">>),
|
||||
{stop, {error, Reason}, State}
|
||||
TarLog = io_lib:format("tar decompression: ~p, error: ~p", [filename:basename(TarFile), Reason]),
|
||||
efka_inetd_task_log:stash(TaskId, list_to_binary(TarLog))
|
||||
end;
|
||||
{error, Reason} ->
|
||||
efka_agent:feedback_phase(TaskId, efka_util:timestamp(), <<"download error">>),
|
||||
{stop, {error, Reason}, State}
|
||||
end.
|
||||
DownloadLog = io_lib:format("download: ~p, error: ~p", [binary_to_list(TarUrl), Reason]),
|
||||
efka_inetd_task_log:stash(TaskId, list_to_binary(DownloadLog))
|
||||
end,
|
||||
{stop, normal, State}.
|
||||
|
||||
%% @private
|
||||
%% @doc Handling all non call/cast messages
|
||||
@ -193,7 +195,7 @@ tar_extract(TarFile, TargetDir) when is_list(TarFile), is_list(TargetDir) ->
|
||||
end.
|
||||
|
||||
%% 下载文件
|
||||
-spec download(Url :: string(), TargetDir :: string()) -> {ok, TarFile :: string()} | {error, Reason :: term()}.
|
||||
-spec download(Url :: string(), TargetDir :: string()) -> {ok, TarFile :: string(), CostTs :: integer()} | {error, Reason :: term()}.
|
||||
download(Url, TargetDir) when is_list(Url), is_list(TargetDir) ->
|
||||
SslOpts = [
|
||||
{ssl, [
|
||||
@ -213,8 +215,7 @@ download(Url, TargetDir) when is_list(Url), is_list(TargetDir) ->
|
||||
EndTs = os:timestamp(),
|
||||
%% 计算操作的时间,单位为毫秒
|
||||
CostMs = timer:now_diff(EndTs, StartTs) div 1000,
|
||||
lager:debug("[efka_downloader] download url: ~p, cost: ~p(ms)", [Url, CostMs]),
|
||||
{ok, FullFilename};
|
||||
{ok, FullFilename, CostMs};
|
||||
{error, Reason} ->
|
||||
%% 出错需要删除掉文件
|
||||
file:delete(FullFilename),
|
||||
|
||||
@ -29,8 +29,13 @@
|
||||
%%% API
|
||||
%%%===================================================================
|
||||
|
||||
-spec stash(TaskId :: integer(), Log :: binary()) -> no_return().
|
||||
-spec stash(TaskId :: integer(), Items :: binary() | [binary()]) -> no_return().
|
||||
stash(TaskId, Log) when is_integer(TaskId), is_binary(Log) ->
|
||||
stash(TaskId, [Log]);
|
||||
stash(TaskId, Items) when is_integer(TaskId), is_list(Items) ->
|
||||
{{Y, M, D}, {H, I, S}} = calendar:local_time(),
|
||||
TimePrefix = iolist_to_binary(io_lib:format("[~b-~2..0b-~2..0b ~2..0b:~2..0b:~2..0b]", [Y, M, D, H, I, S])),
|
||||
Log = iolist_to_binary([TimePrefix, <<" ">>, lists:join(<<" ">>, Items), <<$\n>>]),
|
||||
gen_server:cast(?SERVER, {stash, TaskId, Log}).
|
||||
|
||||
-spec flush(TaskId :: integer()) -> no_return().
|
||||
|
||||
@ -28,14 +28,32 @@ start_link() ->
|
||||
init([]) ->
|
||||
SupFlags = #{strategy => one_for_one, intensity => 1000, period => 3600},
|
||||
ChildSpecs = [
|
||||
%#{
|
||||
% id => 'efka_agent',
|
||||
% start => {'efka_agent', start_link, []},
|
||||
% restart => permanent,
|
||||
% shutdown => 2000,
|
||||
% type => worker,
|
||||
% modules => ['efka_agent']
|
||||
%},
|
||||
#{
|
||||
id => 'efka_inetd_task_log',
|
||||
start => {'efka_inetd_task_log', start_link, []},
|
||||
restart => permanent,
|
||||
shutdown => 2000,
|
||||
type => worker,
|
||||
modules => ['efka_inetd_task_log']
|
||||
},
|
||||
|
||||
#{
|
||||
id => 'efka_inetd',
|
||||
start => {'efka_inetd', start_link, []},
|
||||
restart => permanent,
|
||||
shutdown => 2000,
|
||||
type => worker,
|
||||
modules => ['efka_inetd']
|
||||
},
|
||||
|
||||
#{
|
||||
id => 'efka_agent',
|
||||
start => {'efka_agent', start_link, []},
|
||||
restart => permanent,
|
||||
shutdown => 2000,
|
||||
type => worker,
|
||||
modules => ['efka_agent']
|
||||
},
|
||||
|
||||
#{
|
||||
id => 'efka_tcp_sup',
|
||||
|
||||
@ -75,13 +75,11 @@
|
||||
|
||||
-type service_inform() :: #service_inform{}.
|
||||
|
||||
-type feedback_phase() :: #feedback_phase{}.
|
||||
|
||||
-type event() :: #event{}.
|
||||
|
||||
-export_type(['auth_request'/0, 'auth_reply'/0, 'pub'/0, 'push_reply'/0, 'deploy'/0, 'invoke'/0, 'service_config'/0, 'data'/0, 'ping'/0, 'service_inform'/0, 'feedback_phase'/0, 'event'/0]).
|
||||
-type '$msg_name'() :: auth_request | auth_reply | pub | push_reply | deploy | invoke | service_config | data | ping | service_inform | feedback_phase | event.
|
||||
-type '$msg'() :: auth_request() | auth_reply() | pub() | push_reply() | deploy() | invoke() | service_config() | data() | ping() | service_inform() | feedback_phase() | event().
|
||||
-export_type(['auth_request'/0, 'auth_reply'/0, 'pub'/0, 'push_reply'/0, 'deploy'/0, 'invoke'/0, 'service_config'/0, 'data'/0, 'ping'/0, 'service_inform'/0, 'event'/0]).
|
||||
-type '$msg_name'() :: auth_request | auth_reply | pub | push_reply | deploy | invoke | service_config | data | ping | service_inform | event.
|
||||
-type '$msg'() :: auth_request() | auth_reply() | pub() | push_reply() | deploy() | invoke() | service_config() | data() | ping() | service_inform() | event().
|
||||
-export_type(['$msg_name'/0, '$msg'/0]).
|
||||
|
||||
-if(?OTP_RELEASE >= 24).
|
||||
@ -118,7 +116,6 @@ encode_msg(Msg, MsgName, Opts) ->
|
||||
data -> encode_msg_data(id(Msg, TrUserData), TrUserData);
|
||||
ping -> encode_msg_ping(id(Msg, TrUserData), TrUserData);
|
||||
service_inform -> encode_msg_service_inform(id(Msg, TrUserData), TrUserData);
|
||||
feedback_phase -> encode_msg_feedback_phase(id(Msg, TrUserData), TrUserData);
|
||||
event -> encode_msg_event(id(Msg, TrUserData), TrUserData)
|
||||
end.
|
||||
|
||||
@ -559,40 +556,6 @@ encode_msg_service_inform(#service_inform{service_id = F1, props = F2, status =
|
||||
end
|
||||
end.
|
||||
|
||||
encode_msg_feedback_phase(Msg, TrUserData) -> encode_msg_feedback_phase(Msg, <<>>, TrUserData).
|
||||
|
||||
|
||||
encode_msg_feedback_phase(#feedback_phase{task_id = F1, phase = F2, timestamp = F3}, Bin, TrUserData) ->
|
||||
B1 = if F1 == undefined -> Bin;
|
||||
true ->
|
||||
begin
|
||||
TrF1 = id(F1, TrUserData),
|
||||
case is_empty_string(TrF1) of
|
||||
true -> Bin;
|
||||
false -> e_type_string(TrF1, <<Bin/binary, 10>>, TrUserData)
|
||||
end
|
||||
end
|
||||
end,
|
||||
B2 = if F2 == undefined -> B1;
|
||||
true ->
|
||||
begin
|
||||
TrF2 = id(F2, TrUserData),
|
||||
case is_empty_string(TrF2) of
|
||||
true -> B1;
|
||||
false -> e_type_string(TrF2, <<B1/binary, 18>>, TrUserData)
|
||||
end
|
||||
end
|
||||
end,
|
||||
if F3 == undefined -> B2;
|
||||
true ->
|
||||
begin
|
||||
TrF3 = id(F3, TrUserData),
|
||||
if TrF3 =:= 0 -> B2;
|
||||
true -> e_varint(TrF3, <<B2/binary, 24>>, TrUserData)
|
||||
end
|
||||
end
|
||||
end.
|
||||
|
||||
encode_msg_event(Msg, TrUserData) -> encode_msg_event(Msg, <<>>, TrUserData).
|
||||
|
||||
|
||||
@ -805,7 +768,6 @@ decode_msg_2_doit(service_config, Bin, TrUserData) -> id(decode_msg_service_conf
|
||||
decode_msg_2_doit(data, Bin, TrUserData) -> id(decode_msg_data(Bin, TrUserData), TrUserData);
|
||||
decode_msg_2_doit(ping, Bin, TrUserData) -> id(decode_msg_ping(Bin, TrUserData), TrUserData);
|
||||
decode_msg_2_doit(service_inform, Bin, TrUserData) -> id(decode_msg_service_inform(Bin, TrUserData), TrUserData);
|
||||
decode_msg_2_doit(feedback_phase, Bin, TrUserData) -> id(decode_msg_feedback_phase(Bin, TrUserData), TrUserData);
|
||||
decode_msg_2_doit(event, Bin, TrUserData) -> id(decode_msg_event(Bin, TrUserData), TrUserData).
|
||||
|
||||
|
||||
@ -1559,64 +1521,6 @@ skip_32_service_inform(<<_:32, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4,
|
||||
|
||||
skip_64_service_inform(<<_:64, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, TrUserData) -> dfp_read_field_def_service_inform(Rest, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, TrUserData).
|
||||
|
||||
decode_msg_feedback_phase(Bin, TrUserData) -> dfp_read_field_def_feedback_phase(Bin, 0, 0, 0, id(<<>>, TrUserData), id(<<>>, TrUserData), id(0, TrUserData), TrUserData).
|
||||
|
||||
dfp_read_field_def_feedback_phase(<<10, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, F@_3, TrUserData) -> d_field_feedback_phase_task_id(Rest, Z1, Z2, F, F@_1, F@_2, F@_3, TrUserData);
|
||||
dfp_read_field_def_feedback_phase(<<18, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, F@_3, TrUserData) -> d_field_feedback_phase_phase(Rest, Z1, Z2, F, F@_1, F@_2, F@_3, TrUserData);
|
||||
dfp_read_field_def_feedback_phase(<<24, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, F@_3, TrUserData) -> d_field_feedback_phase_timestamp(Rest, Z1, Z2, F, F@_1, F@_2, F@_3, TrUserData);
|
||||
dfp_read_field_def_feedback_phase(<<>>, 0, 0, _, F@_1, F@_2, F@_3, _) -> #feedback_phase{task_id = F@_1, phase = F@_2, timestamp = F@_3};
|
||||
dfp_read_field_def_feedback_phase(Other, Z1, Z2, F, F@_1, F@_2, F@_3, TrUserData) -> dg_read_field_def_feedback_phase(Other, Z1, Z2, F, F@_1, F@_2, F@_3, TrUserData).
|
||||
|
||||
dg_read_field_def_feedback_phase(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, TrUserData) when N < 32 - 7 -> dg_read_field_def_feedback_phase(Rest, N + 7, X bsl N + Acc, F, F@_1, F@_2, F@_3, TrUserData);
|
||||
dg_read_field_def_feedback_phase(<<0:1, X:7, Rest/binary>>, N, Acc, _, F@_1, F@_2, F@_3, TrUserData) ->
|
||||
Key = X bsl N + Acc,
|
||||
case Key of
|
||||
10 -> d_field_feedback_phase_task_id(Rest, 0, 0, 0, F@_1, F@_2, F@_3, TrUserData);
|
||||
18 -> d_field_feedback_phase_phase(Rest, 0, 0, 0, F@_1, F@_2, F@_3, TrUserData);
|
||||
24 -> d_field_feedback_phase_timestamp(Rest, 0, 0, 0, F@_1, F@_2, F@_3, TrUserData);
|
||||
_ ->
|
||||
case Key band 7 of
|
||||
0 -> skip_varint_feedback_phase(Rest, 0, 0, Key bsr 3, F@_1, F@_2, F@_3, TrUserData);
|
||||
1 -> skip_64_feedback_phase(Rest, 0, 0, Key bsr 3, F@_1, F@_2, F@_3, TrUserData);
|
||||
2 -> skip_length_delimited_feedback_phase(Rest, 0, 0, Key bsr 3, F@_1, F@_2, F@_3, TrUserData);
|
||||
3 -> skip_group_feedback_phase(Rest, 0, 0, Key bsr 3, F@_1, F@_2, F@_3, TrUserData);
|
||||
5 -> skip_32_feedback_phase(Rest, 0, 0, Key bsr 3, F@_1, F@_2, F@_3, TrUserData)
|
||||
end
|
||||
end;
|
||||
dg_read_field_def_feedback_phase(<<>>, 0, 0, _, F@_1, F@_2, F@_3, _) -> #feedback_phase{task_id = F@_1, phase = F@_2, timestamp = F@_3}.
|
||||
|
||||
d_field_feedback_phase_task_id(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, TrUserData) when N < 57 -> d_field_feedback_phase_task_id(Rest, N + 7, X bsl N + Acc, F, F@_1, F@_2, F@_3, TrUserData);
|
||||
d_field_feedback_phase_task_id(<<0:1, X:7, Rest/binary>>, N, Acc, F, _, F@_2, F@_3, TrUserData) ->
|
||||
{NewFValue, RestF} = begin Len = X bsl N + Acc, <<Bytes:Len/binary, Rest2/binary>> = Rest, Bytes2 = binary:copy(Bytes), {id(Bytes2, TrUserData), Rest2} end,
|
||||
dfp_read_field_def_feedback_phase(RestF, 0, 0, F, NewFValue, F@_2, F@_3, TrUserData).
|
||||
|
||||
d_field_feedback_phase_phase(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, TrUserData) when N < 57 -> d_field_feedback_phase_phase(Rest, N + 7, X bsl N + Acc, F, F@_1, F@_2, F@_3, TrUserData);
|
||||
d_field_feedback_phase_phase(<<0:1, X:7, Rest/binary>>, N, Acc, F, F@_1, _, F@_3, TrUserData) ->
|
||||
{NewFValue, RestF} = begin Len = X bsl N + Acc, <<Bytes:Len/binary, Rest2/binary>> = Rest, Bytes2 = binary:copy(Bytes), {id(Bytes2, TrUserData), Rest2} end,
|
||||
dfp_read_field_def_feedback_phase(RestF, 0, 0, F, F@_1, NewFValue, F@_3, TrUserData).
|
||||
|
||||
d_field_feedback_phase_timestamp(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, TrUserData) when N < 57 -> d_field_feedback_phase_timestamp(Rest, N + 7, X bsl N + Acc, F, F@_1, F@_2, F@_3, TrUserData);
|
||||
d_field_feedback_phase_timestamp(<<0:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, _, TrUserData) ->
|
||||
{NewFValue, RestF} = {id((X bsl N + Acc) band 4294967295, TrUserData), Rest},
|
||||
dfp_read_field_def_feedback_phase(RestF, 0, 0, F, F@_1, F@_2, NewFValue, TrUserData).
|
||||
|
||||
skip_varint_feedback_phase(<<1:1, _:7, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, F@_3, TrUserData) -> skip_varint_feedback_phase(Rest, Z1, Z2, F, F@_1, F@_2, F@_3, TrUserData);
|
||||
skip_varint_feedback_phase(<<0:1, _:7, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, F@_3, TrUserData) -> dfp_read_field_def_feedback_phase(Rest, Z1, Z2, F, F@_1, F@_2, F@_3, TrUserData).
|
||||
|
||||
skip_length_delimited_feedback_phase(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, TrUserData) when N < 57 -> skip_length_delimited_feedback_phase(Rest, N + 7, X bsl N + Acc, F, F@_1, F@_2, F@_3, TrUserData);
|
||||
skip_length_delimited_feedback_phase(<<0:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, TrUserData) ->
|
||||
Length = X bsl N + Acc,
|
||||
<<_:Length/binary, Rest2/binary>> = Rest,
|
||||
dfp_read_field_def_feedback_phase(Rest2, 0, 0, F, F@_1, F@_2, F@_3, TrUserData).
|
||||
|
||||
skip_group_feedback_phase(Bin, _, Z2, FNum, F@_1, F@_2, F@_3, TrUserData) ->
|
||||
{_, Rest} = read_group(Bin, FNum),
|
||||
dfp_read_field_def_feedback_phase(Rest, 0, Z2, FNum, F@_1, F@_2, F@_3, TrUserData).
|
||||
|
||||
skip_32_feedback_phase(<<_:32, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, F@_3, TrUserData) -> dfp_read_field_def_feedback_phase(Rest, Z1, Z2, F, F@_1, F@_2, F@_3, TrUserData).
|
||||
|
||||
skip_64_feedback_phase(<<_:64, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, F@_3, TrUserData) -> dfp_read_field_def_feedback_phase(Rest, Z1, Z2, F, F@_1, F@_2, F@_3, TrUserData).
|
||||
|
||||
decode_msg_event(Bin, TrUserData) -> dfp_read_field_def_event(Bin, 0, 0, 0, id(<<>>, TrUserData), id(0, TrUserData), id(<<>>, TrUserData), TrUserData).
|
||||
|
||||
dfp_read_field_def_event(<<10, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, F@_3, TrUserData) -> d_field_event_service_id(Rest, Z1, Z2, F, F@_1, F@_2, F@_3, TrUserData);
|
||||
@ -1751,7 +1655,6 @@ merge_msgs(Prev, New, MsgName, Opts) ->
|
||||
data -> merge_msg_data(Prev, New, TrUserData);
|
||||
ping -> merge_msg_ping(Prev, New, TrUserData);
|
||||
service_inform -> merge_msg_service_inform(Prev, New, TrUserData);
|
||||
feedback_phase -> merge_msg_feedback_phase(Prev, New, TrUserData);
|
||||
event -> merge_msg_event(Prev, New, TrUserData)
|
||||
end.
|
||||
|
||||
@ -1956,21 +1859,6 @@ merge_msg_service_inform(#service_inform{service_id = PFservice_id, props = PFpr
|
||||
true -> NFtimestamp
|
||||
end}.
|
||||
|
||||
-compile({nowarn_unused_function,merge_msg_feedback_phase/3}).
|
||||
merge_msg_feedback_phase(#feedback_phase{task_id = PFtask_id, phase = PFphase, timestamp = PFtimestamp}, #feedback_phase{task_id = NFtask_id, phase = NFphase, timestamp = NFtimestamp}, _) ->
|
||||
#feedback_phase{task_id =
|
||||
if NFtask_id =:= undefined -> PFtask_id;
|
||||
true -> NFtask_id
|
||||
end,
|
||||
phase =
|
||||
if NFphase =:= undefined -> PFphase;
|
||||
true -> NFphase
|
||||
end,
|
||||
timestamp =
|
||||
if NFtimestamp =:= undefined -> PFtimestamp;
|
||||
true -> NFtimestamp
|
||||
end}.
|
||||
|
||||
-compile({nowarn_unused_function,merge_msg_event/3}).
|
||||
merge_msg_event(#event{service_id = PFservice_id, event_type = PFevent_type, params = PFparams}, #event{service_id = NFservice_id, event_type = NFevent_type, params = NFparams}, _) ->
|
||||
#event{service_id =
|
||||
@ -2007,7 +1895,6 @@ verify_msg(Msg, MsgName, Opts) ->
|
||||
data -> v_msg_data(Msg, [MsgName], TrUserData);
|
||||
ping -> v_msg_ping(Msg, [MsgName], TrUserData);
|
||||
service_inform -> v_msg_service_inform(Msg, [MsgName], TrUserData);
|
||||
feedback_phase -> v_msg_feedback_phase(Msg, [MsgName], TrUserData);
|
||||
event -> v_msg_event(Msg, [MsgName], TrUserData);
|
||||
_ -> mk_type_error(not_a_known_message, Msg, [])
|
||||
end.
|
||||
@ -2202,21 +2089,6 @@ v_msg_service_inform(#service_inform{service_id = F1, props = F2, status = F3, t
|
||||
ok;
|
||||
v_msg_service_inform(X, Path, _TrUserData) -> mk_type_error({expected_msg, service_inform}, X, Path).
|
||||
|
||||
-compile({nowarn_unused_function,v_msg_feedback_phase/3}).
|
||||
-dialyzer({nowarn_function,v_msg_feedback_phase/3}).
|
||||
v_msg_feedback_phase(#feedback_phase{task_id = F1, phase = F2, timestamp = F3}, Path, TrUserData) ->
|
||||
if F1 == undefined -> ok;
|
||||
true -> v_type_string(F1, [task_id | Path], TrUserData)
|
||||
end,
|
||||
if F2 == undefined -> ok;
|
||||
true -> v_type_string(F2, [phase | Path], TrUserData)
|
||||
end,
|
||||
if F3 == undefined -> ok;
|
||||
true -> v_type_uint32(F3, [timestamp | Path], TrUserData)
|
||||
end,
|
||||
ok;
|
||||
v_msg_feedback_phase(X, Path, _TrUserData) -> mk_type_error({expected_msg, feedback_phase}, X, Path).
|
||||
|
||||
-compile({nowarn_unused_function,v_msg_event/3}).
|
||||
-dialyzer({nowarn_function,v_msg_event/3}).
|
||||
v_msg_event(#event{service_id = F1, event_type = F2, params = F3}, Path, TrUserData) ->
|
||||
@ -2349,23 +2221,19 @@ get_msg_defs() ->
|
||||
#field{name = props, fnum = 2, rnum = 3, type = string, occurrence = optional, opts = []},
|
||||
#field{name = status, fnum = 3, rnum = 4, type = uint32, occurrence = optional, opts = []},
|
||||
#field{name = timestamp, fnum = 4, rnum = 5, type = uint32, occurrence = optional, opts = []}]},
|
||||
{{msg, feedback_phase},
|
||||
[#field{name = task_id, fnum = 1, rnum = 2, type = string, occurrence = optional, opts = []},
|
||||
#field{name = phase, fnum = 2, rnum = 3, type = string, occurrence = optional, opts = []},
|
||||
#field{name = timestamp, fnum = 3, rnum = 4, type = uint32, occurrence = optional, opts = []}]},
|
||||
{{msg, event},
|
||||
[#field{name = service_id, fnum = 1, rnum = 2, type = string, occurrence = optional, opts = []},
|
||||
#field{name = event_type, fnum = 2, rnum = 3, type = uint32, occurrence = optional, opts = []},
|
||||
#field{name = params, fnum = 3, rnum = 4, type = string, occurrence = optional, opts = []}]}].
|
||||
|
||||
|
||||
get_msg_names() -> [auth_request, auth_reply, pub, push_reply, deploy, invoke, service_config, data, ping, service_inform, feedback_phase, event].
|
||||
get_msg_names() -> [auth_request, auth_reply, pub, push_reply, deploy, invoke, service_config, data, ping, service_inform, event].
|
||||
|
||||
|
||||
get_group_names() -> [].
|
||||
|
||||
|
||||
get_msg_or_group_names() -> [auth_request, auth_reply, pub, push_reply, deploy, invoke, service_config, data, ping, service_inform, feedback_phase, event].
|
||||
get_msg_or_group_names() -> [auth_request, auth_reply, pub, push_reply, deploy, invoke, service_config, data, ping, service_inform, event].
|
||||
|
||||
|
||||
get_enum_names() -> [].
|
||||
@ -2429,10 +2297,6 @@ find_msg_def(service_inform) ->
|
||||
#field{name = props, fnum = 2, rnum = 3, type = string, occurrence = optional, opts = []},
|
||||
#field{name = status, fnum = 3, rnum = 4, type = uint32, occurrence = optional, opts = []},
|
||||
#field{name = timestamp, fnum = 4, rnum = 5, type = uint32, occurrence = optional, opts = []}];
|
||||
find_msg_def(feedback_phase) ->
|
||||
[#field{name = task_id, fnum = 1, rnum = 2, type = string, occurrence = optional, opts = []},
|
||||
#field{name = phase, fnum = 2, rnum = 3, type = string, occurrence = optional, opts = []},
|
||||
#field{name = timestamp, fnum = 3, rnum = 4, type = uint32, occurrence = optional, opts = []}];
|
||||
find_msg_def(event) ->
|
||||
[#field{name = service_id, fnum = 1, rnum = 2, type = string, occurrence = optional, opts = []},
|
||||
#field{name = event_type, fnum = 2, rnum = 3, type = uint32, occurrence = optional, opts = []},
|
||||
@ -2505,7 +2369,6 @@ fqbin_to_msg_name(<<"ServiceConfig">>) -> service_config;
|
||||
fqbin_to_msg_name(<<"Data">>) -> data;
|
||||
fqbin_to_msg_name(<<"Ping">>) -> ping;
|
||||
fqbin_to_msg_name(<<"ServiceInform">>) -> service_inform;
|
||||
fqbin_to_msg_name(<<"FeedbackPhase">>) -> feedback_phase;
|
||||
fqbin_to_msg_name(<<"Event">>) -> event;
|
||||
fqbin_to_msg_name(E) -> error({gpb_error, {badmsg, E}}).
|
||||
|
||||
@ -2520,7 +2383,6 @@ msg_name_to_fqbin(service_config) -> <<"ServiceConfig">>;
|
||||
msg_name_to_fqbin(data) -> <<"Data">>;
|
||||
msg_name_to_fqbin(ping) -> <<"Ping">>;
|
||||
msg_name_to_fqbin(service_inform) -> <<"ServiceInform">>;
|
||||
msg_name_to_fqbin(feedback_phase) -> <<"FeedbackPhase">>;
|
||||
msg_name_to_fqbin(event) -> <<"Event">>;
|
||||
msg_name_to_fqbin(E) -> error({gpb_error, {badmsg, E}}).
|
||||
|
||||
@ -2560,7 +2422,7 @@ get_all_source_basenames() -> ["message_pb.proto"].
|
||||
get_all_proto_names() -> ["message_pb"].
|
||||
|
||||
|
||||
get_msg_containment("message_pb") -> [auth_reply, auth_request, data, deploy, event, feedback_phase, invoke, ping, pub, push_reply, service_config, service_inform];
|
||||
get_msg_containment("message_pb") -> [auth_reply, auth_request, data, deploy, event, invoke, ping, pub, push_reply, service_config, service_inform];
|
||||
get_msg_containment(P) -> error({gpb_error, {badproto, P}}).
|
||||
|
||||
|
||||
@ -2585,7 +2447,6 @@ get_proto_by_msg_name_as_fqbin(<<"Pub">>) -> "message_pb";
|
||||
get_proto_by_msg_name_as_fqbin(<<"Event">>) -> "message_pb";
|
||||
get_proto_by_msg_name_as_fqbin(<<"AuthRequest">>) -> "message_pb";
|
||||
get_proto_by_msg_name_as_fqbin(<<"Invoke">>) -> "message_pb";
|
||||
get_proto_by_msg_name_as_fqbin(<<"FeedbackPhase">>) -> "message_pb";
|
||||
get_proto_by_msg_name_as_fqbin(<<"ServiceConfig">>) -> "message_pb";
|
||||
get_proto_by_msg_name_as_fqbin(<<"Ping">>) -> "message_pb";
|
||||
get_proto_by_msg_name_as_fqbin(<<"PushReply">>) -> "message_pb";
|
||||
|
||||
@ -102,13 +102,6 @@ message ServiceInform {
|
||||
uint32 timestamp = 4;
|
||||
}
|
||||
|
||||
// 任务部署阶段反馈
|
||||
message FeedbackPhase {
|
||||
string task_id = 1;
|
||||
string phase = 2;
|
||||
uint32 timestamp = 3;
|
||||
}
|
||||
|
||||
message Event {
|
||||
string service_id = 1;
|
||||
uint32 event_type = 2;
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user