From ba6b7d9f43e523de45713219adc620e741dfa76b Mon Sep 17 00:00:00 2001 From: anlicheng <244108715@qq.com> Date: Tue, 8 Apr 2025 11:22:40 +0800 Subject: [PATCH] simple influxdb --- apps/iot/src/influxdb/influx_client_pool.erl | 16 ++++------------ 1 file changed, 4 insertions(+), 12 deletions(-) diff --git a/apps/iot/src/influxdb/influx_client_pool.erl b/apps/iot/src/influxdb/influx_client_pool.erl index 38a3228..d02fcdb 100644 --- a/apps/iot/src/influxdb/influx_client_pool.erl +++ b/apps/iot/src/influxdb/influx_client_pool.erl @@ -149,18 +149,10 @@ handle_cast({write_data, Bucket, Points}, State = #state{pool_pid = PoolPid, buf {stop, Reason :: term(), NewState :: #state{}}). handle_info({timeout, _, flush_ticker}, State = #state{buffers = Buffers, pool_pid = PoolPid}) -> erlang:start_timer(5000, self(), flush_ticker), - - Acc = lists:foldl(fun({Bucket, Q}, Acc0) -> - Len = queue:len(Q), - case Len > 0 of - true -> - poolboy:transaction(PoolPid, fun(Pid) -> influx_client:write(Pid, Bucket, ?DEFAULT_ORG, <<"ms">>, queue:to_list(Q)) end), - Acc0 + Len; - false -> - Acc0 - end - end, 0, maps:to_list(Buffers)), - lager:debug("[influx_client_pool] flush_ticker acc write num: ~p", [Acc]), + [begin + Len = queue:len(Q), + Len > 0 andalso poolboy:transaction(PoolPid, fun(Pid) -> influx_client:write(Pid, Bucket, ?DEFAULT_ORG, <<"ms">>, queue:to_list(Q)) end) + end || {Bucket, Q} <- maps:to_list(Buffers)], {noreply, State#state{buffers = #{}}};