| | |
| | | server.repair_ths_main_site(client) |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | def __run_schedule(): |
| | | while True: |
| | | schedule.run_pending() |
| | |
| | | |
| | | |
| | | # 获取到现价 |
| | | def accpt_price(code, price): |
| | | def accpt_price(code, price, price_from="juejin"): |
| | | return |
| | | gpcode_manager.set_price(code, price) |
| | | # 获取收盘价 |
| | | pricePre = gpcode_manager.get_price_pre(code) |
| | |
| | | logger_juejin_tick.info("{}-{}-{}", code, price, rate) |
| | | if not gpcode_manager.is_listen(code) and not gpcode_manager.is_operate( |
| | | code) and not gpcode_manager.is_listen_full(): |
| | | L2CodeOperate.get_instance().add_operate(1, code, "现价变化") |
| | | L2CodeOperate.get_instance().add_operate(1, code, "现价变化,rate-{} from-{}".format(rate, price_from)) |
| | | # 进入监控 |
| | | elif rate < 5: |
| | | # 移除监控 |
| | | if gpcode_manager.is_listen(code) and not gpcode_manager.is_operate(code): |
| | | L2CodeOperate.get_instance().add_operate(0, code, "现价变化") |
| | | L2CodeOperate.get_instance().add_operate(0, code, "现价变化,rate-{} from-{}".format(rate, price_from)) |
| | | |
| | | |
| | | # 获取到现价 |
| | |
| | | now_strs = now_str.split(":") |
| | | now_second = int(now_strs[0]) * 60 * 60 + int(now_strs[1]) * 60 + int(now_strs[2]) |
| | | start = 60 * 60 * 9 + 31 * 60 |
| | | if now_second > start: |
| | | if False: |
| | | for d in prices: |
| | | code, price = d["code"], float(d["price"]) |
| | | accpt_price(code, price) |
| | | accpt_price(code, price, "ths") |
| | | else: |
| | | _code_list = [] |
| | | _delete_list = [] |
| | |
| | | if pricePre is not None: |
| | | rate = round((price - pricePre) * 100 / pricePre, 1) |
| | | if rate >= 0: |
| | | # 暂存涨幅为正的代码 |
| | | _code_list.append((rate, code)) |
| | | else: |
| | | # 暂存涨幅为负的代码 |
| | | _delete_list.append((rate, code)) |
| | | # 排序 |
| | | new_code_list = sorted(_code_list, key=lambda e: e.__getitem__(0), reverse=True) |
| | | client_ids = data_process.getValidL2Clients() |
| | | # 最多填充的代码数量 |
| | | max_count = len(client_ids) * 8 |
| | | # 截取前几个代码填充 |
| | | add_list = new_code_list[:max_count] |
| | | # 后面的代码全部删除 |
| | | _delete_list.extend(new_code_list[max_count:]) |
| | | |
| | | add_code_list = [] |
| | |
| | | for d in _delete_list: |
| | | del_list.append(d[1]) |
| | | |
| | | for code in add_code_list: |
| | | L2CodeOperate.get_instance().add_operate(1, code, "现价变化") |
| | | |
| | | # 后面的代码数量 |
| | | # 先删除应该删除的代码 |
| | | for code in del_list: |
| | | L2CodeOperate.get_instance().add_operate(0, code, "现价变化") |
| | | if gpcode_manager.is_listen(code): |
| | | # 判断是否在监听里面 |
| | | L2CodeOperate.get_instance().add_operate(0, code, "现价变化") |
| | | # 增加应该增加的代码 |
| | | for code in add_code_list: |
| | | if not gpcode_manager.is_listen(code): |
| | | L2CodeOperate.get_instance().add_operate(1, code, "现价变化") |
| | | |
| | | |
| | | |
| | | print(add_code_list, del_list) |
| | | |
| | |
| | | |
| | | |
| | | if __name__ == '__main__': |
| | | pass |
| | | everyday_init() |