From 3b1e436d3f3d72b3d67207d80310e2434f99c5aa Mon Sep 17 00:00:00 2001 From: Thales Macedo Garitezi Date: Thu, 20 Jul 2023 09:40:30 -0300 Subject: [PATCH] refactor: use `emqx_pool:async_submit` to avoid excessive spawning --- apps/emqx_resource/src/emqx_resource_buffer_worker.erl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/emqx_resource/src/emqx_resource_buffer_worker.erl b/apps/emqx_resource/src/emqx_resource_buffer_worker.erl index 279a141f5..5a08fff06 100644 --- a/apps/emqx_resource/src/emqx_resource_buffer_worker.erl +++ b/apps/emqx_resource/src/emqx_resource_buffer_worker.erl @@ -824,7 +824,7 @@ reply_dropped(_ReplyTo = {Fn, Args, #{reply_dropped := true}}, Result) when is_function(Fn), is_list(Args) -> %% We want to avoid bumping metrics inside the buffer worker, since it's costly. - spawn(fun() -> erlang:apply(Fn, Args ++ [Result]) end), + emqx_pool:async_submit(Fn, Args ++ [Result]), ok; reply_dropped(_ReplyTo, _Result) -> ok.