# 涨停时间管理器
|
"""
|
涨停时间管理器
|
"""
|
import l2_data_util
|
import redis_manager
|
import tool
|
import global_util
|
|
_redisManager = redis_manager.RedisManager(0)
|
|
|
def save_limit_up_time(code, time):
|
_time = get_limit_up_time(code)
|
if _time is None:
|
redis = _redisManager.getRedis()
|
redis.setex("limit_up_time-{}".format(code), tool.get_expire(), time)
|
global_util.limit_up_time[code] = time
|
|
|
def get_limit_up_time(code):
|
time = global_util.limit_up_time.get(code)
|
if time is None:
|
redis = _redisManager.getRedis()
|
time = redis.get("limit_up_time-{}".format(code))
|
if time is not None:
|
global_util.limit_up_time[code] = time
|
|
return time
|
|
|
def load_limit_up_time():
|
redis = _redisManager.getRedis()
|
keys = redis.keys("limit_up_time-*")
|
for key in keys:
|
code = key.replace("limit_up_time-", "")
|
global_util.limit_up_time[code] = redis.get(key)
|
|
|
def sort_code_by_limit_time(codes):
|
if not global_util.limit_up_time:
|
load_limit_up_time()
|
list = []
|
for code in codes:
|
limit_up_time = global_util.limit_up_time.get(code)
|
if limit_up_time is not None:
|
list.append((code, limit_up_time))
|
new_s = sorted(list, key=lambda e: int(e[1].replace(":", "")))
|
dict_ = {}
|
for i in range(0, len(new_s)):
|
dict_[new_s[i][0]] = i
|
return dict_
|
|
|
if __name__ == "__main__":
|
print(sort_code_by_limit_time(["002393", "002476", "002614", "002750", "600082", "002751"]))
|