Davidliu 3 months ago
parent
commit
9167a19c42
1 changed files with 12 additions and 17 deletions
  1. 12 17
      src/core/callcenter/esl/client.py

+ 12 - 17
src/core/callcenter/esl/client.py

@@ -626,12 +626,19 @@ class OutboundClient:
             self.logger = app.logger
             self.whitelist = []
             self.buckets = []
-            self.update_whitelist()  # 初始化加载白名单
-            self.update_bucket() #初始化分流
+            # self.update_whitelist()  # 初始化加载白名单
+            # self.update_bucket() #初始化分流
             self.dataHandleServer = DataHandleServer(app)
-            # 定时更新白名单
-            threading.Thread(target=self.refresh_whitelist, daemon=True).start()
-            threading.Thread(target=self.refresh_bucket, daemon=True).start()
+
+            self.cache_job_scheduler = BackgroundScheduler()
+            self.cache_job_scheduler.add_job(self.update_cache_job(), 'interval', seconds=60, max_instances=1)
+            self.cache_job_scheduler.start()
+
+        def update_cache_job(self):
+            self.logger.info("begin flush cache job")
+            self.update_whitelist()
+            self.update_bucket()
+            self.logger.info("end flush cache job")
 
         def update_whitelist(self):
             with self.app.app_context():
@@ -639,13 +646,6 @@ class OutboundClient:
                 self.whitelist = [phone.phone for phone in phones]
                 self.logger.info("Whitelist updated: %s", self.whitelist)
 
-
-        def refresh_whitelist(self):
-            while True:
-                time.sleep(60)  # 每 1小时 更新一次
-                self.update_whitelist()
-
-
         def get_whitelist(self):
             return self.whitelist
 
@@ -673,11 +673,6 @@ class OutboundClient:
                 self.buckets = buckets
                 self.logger.info("bucket updated: %s", self.buckets)
 
-        def refresh_bucket(self):
-            while True:
-                time.sleep(60)  # 每 1分钟 更新一次
-                self.update_bucket()
-
     def start(self, HOST='0.0.0.0', PORT=8084, agent=None):
         # HOST, PORT = "0.0.0.0", 8084
         # 创建一个 TCP 服务器