Commit 6708a61f authored by litaolemo's avatar litaolemo

update

parent e59d4b25
...@@ -7,27 +7,40 @@ ...@@ -7,27 +7,40 @@
import redis import redis
from send_msg_to_dingding.send_msg import send_msg_to_dingtalk from send_msg_to_dingding.send_msg import send_msg_to_dingtalk
import datetime, time import datetime, time
token_dict = { token_dict = {
'gaia-dbmw':{'secret':"SECba5212dadad3794b3da51c903c828f60ab8342897af2675f1f48fceb8858eb5c",'access_token':"df546521ce46bfb35025ca266efc2d7e8d708d1c8ada9b15ae487786ad06ad12"}, 'gaia-dbmw': {'secret': "SECba5212dadad3794b3da51c903c828f60ab8342897af2675f1f48fceb8858eb5c",
'tapir-gaia-service':{'secret':"SEC65d8ac5f9c92677cf0c98624810abc407cf433fd4f2713649dc41310b4658fb5",'access_token':"ca4ca402653c7fe6011c18ff5ac385b2b0f4ab6cab61c545f09f4d8830db6870"}, 'access_token': "df546521ce46bfb35025ca266efc2d7e8d708d1c8ada9b15ae487786ad06ad12"},
'mimas-dbmw':{'secret':"SECba5212dadad3794b3da51c903c828f60ab8342897af2675f1f48fceb8858eb5c",'access_token':"df546521ce46bfb35025ca266efc2d7e8d708d1c8ada9b15ae487786ad06ad12"}, 'tapir-gaia-service': {'secret': "SEC65d8ac5f9c92677cf0c98624810abc407cf433fd4f2713649dc41310b4658fb5",
'access_token': "ca4ca402653c7fe6011c18ff5ac385b2b0f4ab6cab61c545f09f4d8830db6870"},
'mimas-dbmw': {'secret': "SECba5212dadad3794b3da51c903c828f60ab8342897af2675f1f48fceb8858eb5c",
'access_token': "df546521ce46bfb35025ca266efc2d7e8d708d1c8ada9b15ae487786ad06ad12"},
"graces-es6-tapir-diary": {'secret': "SECba5212dadad3794b3da51c903c828f60ab8342897af2675f1f48fceb8858eb5c",
'access_token': "df546521ce46bfb35025ca266efc2d7e8d708d1c8ada9b15ae487786ad06ad12"},
"graces-es6-tapir-service": {'secret': "SEC65d8ac5f9c92677cf0c98624810abc407cf433fd4f2713649dc41310b4658fb5",
'access_token': "ca4ca402653c7fe6011c18ff5ac385b2b0f4ab6cab61c545f09f4d8830db6870"},
"mentha-tapir-answer": {'secret': "SECba5212dadad3794b3da51c903c828f60ab8342897af2675f1f48fceb8858eb5c",
'access_token': "df546521ce46bfb35025ca266efc2d7e8d708d1c8ada9b15ae487786ad06ad12"},
"mentha-tapir-tractate": {'secret': "SECba5212dadad3794b3da51c903c828f60ab8342897af2675f1f48fceb8858eb5c",
'access_token': "df546521ce46bfb35025ca266efc2d7e8d708d1c8ada9b15ae487786ad06ad12"},
} }
# send_msg_to_dingtalk("123",secret=secret,access_token=access_token) # send_msg_to_dingtalk("123",secret=secret,access_token=access_token)
redis_old_gaia = redis.StrictRedis.from_url("redis://:ReDis!GmTx*0aN11@172.16.40.166:6379/9", decode_responses=True) redis_old_gaia = redis.StrictRedis.from_url("redis://:ReDis!GmTx*0aN11@172.16.40.166:6379/9", decode_responses=True)
redis_old_mimas = redis.StrictRedis.from_url("redis://:ReDis!GmTx*0aN3@172.16.40.145:6379/5", decode_responses=True) redis_old_mimas = redis.StrictRedis.from_url("redis://:ReDis!GmTx*0aN3@172.16.40.145:6379/5", decode_responses=True)
redis_new_gaia = redis.StrictRedis.from_url("redis://:ReDis!GmTx*0aN19@172.16.50.166:6379", decode_responses=True)
redis_new_mimas = redis.StrictRedis.from_url("redis://:ReDis!GmTx*0aN19@172.16.50.166:6379/1", decode_responses=True)
class Parse_data: class Parse_data:
def __init__(self,top=200,consume=500): def __init__(self, top=200, consume=500):
self.top = top self.top = top
self.consume = consume self.consume = consume
self.offset_dict = {} self.offset_dict = {}
def parse(self,key_name,len_data,per_sec=10): def parse(self, key_name, len_data, per_sec=10):
now = datetime.datetime.now() now = datetime.datetime.now()
time_ts = now.strftime("%Y-%m-%d %H:%M:%S") time_ts = now.strftime("%Y-%m-%d %H:%M:%S")
if len_data <= self.top: if len_data <= self.top:
...@@ -39,24 +52,24 @@ class Parse_data: ...@@ -39,24 +52,24 @@ class Parse_data:
rate = len_data_diff / per_sec rate = len_data_diff / per_sec
self.offset_dict[key_name] = len_data self.offset_dict[key_name] = len_data
if len_data_diff > 0: if len_data_diff > 0:
use_time = round(len_data/rate/(60/per_sec)/60,1) use_time = round(len_data / rate / (60 / per_sec) / 60, 1)
return "{} 目前{}队列中有{}条数据,预计{}小时后处理完成".format(time_ts,key_name,str(len_data),str(use_time)) return "{} 目前{}队列中有{}条数据,预计{}小时后处理完成".format(time_ts, key_name, str(len_data), str(use_time))
else: else:
if abs(rate) > 0: if abs(rate) > 0:
return "{} {}队列增长中,目前有{}条数据".format(time_ts, key_name,str(len_data)) return "{} {}队列增长中,目前有{}条数据".format(time_ts, key_name, str(len_data))
self.offset_dict[key_name] = len_data self.offset_dict[key_name] = len_data
return None return None
def len_list_and_send_msg(redis_clint,key_name,rules,per_sec=10): def len_list_and_send_msg(redis_clint, key_name, rules, per_sec=10):
# redis_clint = redis.StrictRedis.from_url("redis://:ReDis!GmTx*0aN3@172.16.40.145:6379/5", decode_responses=True) # redis_clint = redis.StrictRedis.from_url("redis://:ReDis!GmTx*0aN3@172.16.40.145:6379/5", decode_responses=True)
res = redis_clint.llen(key_name) res = redis_clint.llen(key_name)
# print(key_name,res) # print(key_name,res)
str_res = rules.parse(key_name,res,per_sec=per_sec) str_res = rules.parse(key_name, res, per_sec=per_sec)
if str_res: if str_res:
send_msg_to_dingtalk(str_res,secret=token_dict[key_name]['secret'],access_token=token_dict[key_name]['access_token']) send_msg_to_dingtalk(str_res, secret=token_dict[key_name]['secret'],
access_token=token_dict[key_name]['access_token'])
if __name__ == "__main__": if __name__ == "__main__":
...@@ -64,12 +77,16 @@ if __name__ == "__main__": ...@@ -64,12 +77,16 @@ if __name__ == "__main__":
redis_clicnt_dct = { redis_clicnt_dct = {
"gaia-dbmw": redis_old_gaia, "gaia-dbmw": redis_old_gaia,
"tapir-gaia-service": redis_old_gaia, "tapir-gaia-service": redis_old_gaia,
"mimas-dbmw":redis_old_mimas "mimas-dbmw": redis_old_mimas,
"graces-es6-tapir-diary": redis_new_gaia,
"graces-es6-tapir-service": redis_new_gaia,
"mentha-tapir-answer": redis_new_mimas,
"mentha-tapir-tractate": redis_new_mimas,
} }
per_sec = 10 per_sec = 10
while True: while True:
now = datetime.datetime.now() now = datetime.datetime.now()
if now.second % per_sec == 0: if now.second % per_sec == 0:
for redis_clint_key in redis_clicnt_dct: for redis_clint_key in redis_clicnt_dct:
len_list_and_send_msg(redis_clicnt_dct[redis_clint_key],redis_clint_key,rules,per_sec) len_list_and_send_msg(redis_clicnt_dct[redis_clint_key], redis_clint_key, rules, per_sec)
time.sleep(1) time.sleep(1)
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment