Signed-off-by: Cao Xueliang <caoxl78320(a)163.com>
---
src/extract-stats/extract_stats.cr | 9 ++++++---
src/extract-stats/stats_worker.cr | 3 ++-
2 files changed, 8 insertions(+), 4 deletions(-)
diff --git a/src/extract-stats/extract_stats.cr b/src/extract-stats/extract_stats.cr
index 4ae3e71..3346d12 100644
--- a/src/extract-stats/extract_stats.cr
+++ b/src/extract-stats/extract_stats.cr
@@ -6,10 +6,13 @@ require "./constants"
require "./stats_worker"
module ExtractStats
+ @@ec = EtcdClient.new
+
def self.consume_tasks
channel = Channel(String).new
- revision = self.consume_by_list(EXTRACT_STATS_QUEUE_PATH, channel)
- self.consume_by_watch(EXTRACT_STATS_QUEUE_PATH, revision, channel)
+ queue = EXTRACT_STATS_QUEUE_PATH
+ revision = self.consume_by_list(queue, channel)
+ self.consume_by_watch(queue, revision, channel)
end
def self.consume_by_list(queue, channel)
@@ -26,7 +29,7 @@ module ExtractStats
def self.get_history_tasks(queue)
tasks = [] of Etcd::Model::Kv
- range = EtcdClient.new.range_prefix(queue)
+ range = @@ec.range_prefix(queue)
revision = range.header.not_nil!.revision
tasks += range.kvs
diff --git a/src/extract-stats/stats_worker.cr b/src/extract-stats/stats_worker.cr
index 8910951..9dea267 100644
--- a/src/extract-stats/stats_worker.cr
+++ b/src/extract-stats/stats_worker.cr
@@ -1,6 +1,5 @@
# SPDX-License-Identifier: MulanPSL-2.0+
# Copyright (c) 2020 Huawei Technologies Co., Ltd. All rights reserved.
-
require "../lib/etcd_client"
require "../scheduler/elasticsearch_client"
require "../scheduler/redis_client"
@@ -30,6 +29,8 @@ class StatsWorker
STDERR.puts e.message
# incase of many error message when task-queue, ES does not work
sleep(10)
+ ensure
+ @etcd.close
end
end
--
2.23.0