Просмотр исходного кода

fix(emqx_resource_instance): create health_check process when create resources synchronously

EMQ-YangM 4 лет назад
Родитель
Сommit
8976e25b7a
1 измененных файлов с 6 добавлено и 1 удалено
  1. 6 1
      apps/emqx_resource/src/emqx_resource_instance.erl

+ 6 - 1
apps/emqx_resource/src/emqx_resource_instance.erl

@@ -247,7 +247,12 @@ start_and_check(InstId, ResourceType, Config, Opts, Data) ->
             Data2 = Data#{state => ResourceState},
             ets:insert(emqx_resource_instance, {InstId, Data2}),
             case maps:get(async_create, Opts, false) of
-                false -> do_health_check(Data2);
+                false -> case do_health_check(Data2) of
+                            ok -> emqx_resource_health_check:create_checker(InstId,
+                                      maps:get(health_check_interval, Opts, 15000),
+                                      maps:get(health_check_timeout, Opts, 10000));
+                            {error, Reason} -> {error, Reason}
+                         end;
                 true -> emqx_resource_health_check:create_checker(InstId,
                             maps:get(health_check_interval, Opts, 15000),
                             maps:get(health_check_timeout, Opts, 10000))