fix(aggreg): anticipate and handle delivery startup errors
This commit is contained in:
parent
29fc30ea69
commit
d4fb812352
|
@ -1,6 +1,6 @@
|
||||||
{application, emqx_connector_aggregator, [
|
{application, emqx_connector_aggregator, [
|
||||||
{description, "EMQX Enterprise Connector Data Aggregator"},
|
{description, "EMQX Enterprise Connector Data Aggregator"},
|
||||||
{vsn, "0.1.0"},
|
{vsn, "0.1.1"},
|
||||||
{registered, []},
|
{registered, []},
|
||||||
{applications, [
|
{applications, [
|
||||||
kernel,
|
kernel,
|
||||||
|
|
|
@ -372,9 +372,13 @@ lookup_current_buffer(Name) ->
|
||||||
%%
|
%%
|
||||||
|
|
||||||
enqueue_delivery(Buffer, St = #st{name = Name, deliveries = Ds}) ->
|
enqueue_delivery(Buffer, St = #st{name = Name, deliveries = Ds}) ->
|
||||||
{ok, Pid} = emqx_connector_aggreg_upload_sup:start_delivery(Name, Buffer),
|
case emqx_connector_aggreg_upload_sup:start_delivery(Name, Buffer) of
|
||||||
|
{ok, Pid} ->
|
||||||
MRef = erlang:monitor(process, Pid),
|
MRef = erlang:monitor(process, Pid),
|
||||||
St#st{deliveries = Ds#{MRef => Buffer}}.
|
St#st{deliveries = Ds#{MRef => Buffer}};
|
||||||
|
{error, _} = Error ->
|
||||||
|
handle_delivery_exit(Buffer, Error, St)
|
||||||
|
end.
|
||||||
|
|
||||||
handle_delivery_exit(Buffer, Normal, St = #st{name = Name}) when
|
handle_delivery_exit(Buffer, Normal, St = #st{name = Name}) when
|
||||||
Normal == normal; Normal == noproc
|
Normal == normal; Normal == noproc
|
||||||
|
|
Loading…
Reference in New Issue