fix mqtt connect
This commit is contained in:
parent
0f4ad8e9f1
commit
1af2666272
@ -19,7 +19,7 @@
|
||||
-export([init/1, handle_call/3, handle_cast/2, handle_info/2, terminate/2, code_change/3]).
|
||||
|
||||
%% 消息重发间隔
|
||||
-define(RETRY_INTERVAL, 5000).
|
||||
-define(RETRY_INTERVAL, 15000).
|
||||
|
||||
-define(DISCONNECTED, disconnected).
|
||||
-define(CONNECTED, connected).
|
||||
@ -111,21 +111,23 @@ handle_info({timeout, _, create_postman}, State = #state{buffer = Buffer, status
|
||||
{retry_interval, 5000}
|
||||
],
|
||||
|
||||
{ok, ConnPid} = emqtt:start_link(Opts),
|
||||
lager:debug("[endpoint_mqtt] start connect, options: ~p", [Opts]),
|
||||
case catch emqtt:connect(ConnPid, 5000) of
|
||||
{ok, _} ->
|
||||
lager:debug("[endpoint_mqtt] connect success, pid: ~p", [ConnPid]),
|
||||
NBuffer = endpoint_buffer:trigger_n(Buffer),
|
||||
{noreply, State#state{conn_pid = ConnPid, buffer = NBuffer, status = ?CONNECTED}};
|
||||
{error, Reason} ->
|
||||
lager:warning("[endpoint_mqtt] connect get error: ~p", [Reason]),
|
||||
erlang:start_timer(5000, self(), create_postman),
|
||||
{noreply, State};
|
||||
Error ->
|
||||
lager:warning("[endpoint_mqtt] connect get error: ~p", [Error]),
|
||||
erlang:start_timer(5000, self(), create_postman),
|
||||
{noreply, State}
|
||||
try
|
||||
{ok, ConnPid} = emqtt:start_link(Opts),
|
||||
lager:debug("[endpoint_mqtt] start connect, options: ~p", [Opts]),
|
||||
case emqtt:connect(ConnPid, 5000) of
|
||||
{ok, _} ->
|
||||
lager:debug("[endpoint_mqtt] connect success, pid: ~p", [ConnPid]),
|
||||
NBuffer = endpoint_buffer:trigger_n(Buffer),
|
||||
{noreply, State#state{conn_pid = ConnPid, buffer = NBuffer, status = ?CONNECTED}};
|
||||
{error, Reason} ->
|
||||
lager:warning("[endpoint_mqtt] connect get error: ~p", [Reason]),
|
||||
erlang:start_timer(?RETRY_INTERVAL, self(), create_postman),
|
||||
{noreply, State}
|
||||
end
|
||||
catch _:Error->
|
||||
lager:warning("[endpoint_mqtt] connect get error: ~p", [Error]),
|
||||
erlang:start_timer(?RETRY_INTERVAL, self(), create_postman),
|
||||
{noreply, State}
|
||||
end;
|
||||
|
||||
%% 离线时,忽略数据发送逻辑
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user