|
@@ -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 服务器
|