parameter_update.py 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142
  1. from my_utils import parse_json_for_risk_rule
  2. from my_utils import parse_json_for_risk_videos
  3. from db_helper import RedisHelper
  4. from config import set_config
  5. import json
  6. from log import Log
  7. config_ = set_config()
  8. log_ = Log()
  9. RISK_SHIELD_FILTER_RULE_V1_JSON = "RISK_SHIELD_FILTER_RULE_V1_JSON"
  10. RISK_SHIELD_FILTER_VIDEO_V1_STR = "RISK_SHIELD_FILTER_VIDEO_V1_STR"
  11. RISK_SHIELD_FILTER_EXPANSION_FACTOR_INT = "RISK_SHIELD_FILTER_EXPANSION_FACTOR_INT"
  12. RISK_SHIELD_FILTER_FLAG_BOOL = "RISK_SHIELD_FILTER_FLAG_BOOL"
  13. TAGS_FILTER_FLAG_BOOL = "TAGS_FILTER_FLAG_BOOL"
  14. TAGS_FILTER_RULE_V1_JSON = "TAGS_FILTER_RULE_V1_JSON"
  15. ALG_RECSYS_RANK_DENSITY_RULES_JSON = "ALG_RECSYS_RANK_DENSITY_RULES_JSON"
  16. def param_update_risk_rule() -> dict:
  17. """
  18. 定时更新风险过滤的规则
  19. key=RISK_SHIELD_FILTER_RULE_V1_JSON
  20. value= "{\"0\": [\"110000\"]}"
  21. """
  22. redis_helper = RedisHelper()
  23. tmp = redis_helper.get_data_from_redis(key_name=RISK_SHIELD_FILTER_RULE_V1_JSON)
  24. if tmp is not None:
  25. data = parse_json_for_risk_rule(tmp)
  26. return data
  27. return {}
  28. def param_update_risk_videos() -> list:
  29. """
  30. 定时更新风险过滤的videos
  31. key = "RISK_SHIELD_FILTER_VIDEO_V1_STR"
  32. value = "7536230,1,2,3,4,5,6,7,8,9,10"
  33. """
  34. redis_helper = RedisHelper()
  35. tmp = redis_helper.get_data_from_redis(key_name=RISK_SHIELD_FILTER_VIDEO_V1_STR)
  36. if tmp is not None:
  37. data = parse_json_for_risk_videos(tmp)
  38. return data
  39. return []
  40. def param_update_expansion_factor() -> int:
  41. """
  42. 定时更新扩大倍数
  43. key = "RISK_SHIELD_FILTER_EXPANSION_FACTOR_INT"
  44. value = "5"
  45. """
  46. redis_helper = RedisHelper()
  47. tmp = redis_helper.get_data_from_redis(key_name=RISK_SHIELD_FILTER_EXPANSION_FACTOR_INT)
  48. data = 5
  49. if tmp is not None:
  50. try:
  51. data = int(tmp)
  52. except Exception as e:
  53. data = 5
  54. # 容灾
  55. if data < 5:
  56. data = 5
  57. elif data > 25:
  58. data = 25
  59. return data
  60. def param_update_risk_filter_flag() -> bool:
  61. """
  62. 定时更新 是否过滤
  63. key = "RISK_SHIELD_FILTER_FLAG_BOOL"
  64. value = "False"
  65. """
  66. redis_helper = RedisHelper()
  67. tmp = redis_helper.get_data_from_redis(key_name=RISK_SHIELD_FILTER_FLAG_BOOL)
  68. data = False
  69. if tmp is not None:
  70. try:
  71. data = True if tmp.lower() == "true" else False
  72. except Exception as e:
  73. data = False
  74. return data
  75. def param_update_filter_flags() -> [bool, bool]:
  76. """
  77. 用getbatch的方式从redis中取所有filter的flag
  78. key1 = "RISK_SHIELD_FILTER_FLAG_BOOL"
  79. key2 = "TAGS_FILTER_FLAG_BOOL"
  80. value = "False"
  81. """
  82. redis_helper = RedisHelper()
  83. key_list = [
  84. RISK_SHIELD_FILTER_FLAG_BOOL,
  85. TAGS_FILTER_FLAG_BOOL
  86. ]
  87. tmp = redis_helper.get_batch_key(name_list=key_list)
  88. data1 = False
  89. data2 = False
  90. if tmp is not None:
  91. try:
  92. data1 = True if tmp[0].lower() == "true" else False
  93. except Exception as e:
  94. data1 = False
  95. if tmp is not None:
  96. try:
  97. data2 = True if tmp[1].lower() == "true" else False
  98. except Exception as e:
  99. data2 = False
  100. return [data1, data2]
  101. def param_update_rule(redis_helper: RedisHelper, rule_key_str: str) -> dict:
  102. tmp = redis_helper.get_data_from_redis(key_name=rule_key_str)
  103. if tmp is not None:
  104. try:
  105. data = json.loads(tmp)
  106. return data
  107. except Exception as e:
  108. log_.error("{}: parse json is wrong with in param_update_rule:{}".format(e, tmp))
  109. return {}
  110. def param_update_density_rule(redis_helper: RedisHelper):
  111. tmp = redis_helper.get_data_from_redis(key_name=ALG_RECSYS_RANK_DENSITY_RULES_JSON)
  112. if tmp is not None:
  113. try:
  114. data = json.loads(tmp)
  115. return data
  116. except Exception as e:
  117. log_.error("{}: parse json is wrong with in param_update_density_rule:{}".format(e, tmp))
  118. return {}
  119. if __name__ == '__main__':
  120. pass
  121. d1 = param_update_risk_rule()
  122. d2 = param_update_risk_videos()
  123. print(d1, type(d1))
  124. print(d2, type(d2))
  125. d3 = param_update_expansion_factor()
  126. d4 = param_update_risk_filter_flag()
  127. print(d3, type(d3))
  128. print(d4, type(d4))
  129. redis_helper = RedisHelper()
  130. d5 = param_update_rule(redis_helper)
  131. print(d5, type(d5))