diff --git a/apps/emqx_resource/src/emqx_resource_instance.erl b/apps/emqx_resource/src/emqx_resource_instance.erl index 710deff0c..8e0624c75 100644 --- a/apps/emqx_resource/src/emqx_resource_instance.erl +++ b/apps/emqx_resource/src/emqx_resource_instance.erl @@ -257,4 +257,8 @@ proc_name(Mod, Id) -> list_to_atom(lists:concat([Mod, "_", Id])). pick(InstId) -> - gproc_pool:pick_worker(emqx_resource_instance, InstId). + Pid = gproc_pool:pick_worker(emqx_resource_instance, InstId), + case is_pid(Pid) of + true -> Pid; + false -> error({failed_to_pick_worker, emqx_resource_instance, InstId}) + end.