import json, time import argparse from DB import DBVidcon def parse_args(): parser = argparse.ArgumentParser( description="Dump keyword/title rows into Redis list." ) parser.add_argument("-l", "--level", type=int, default=99, help="value for t.level (default: 99)") return parser.parse_args() def main(): args = parse_args() batch = int(time.time()) db = DBVidcon() rows = db.fetch_keyword_title(level=args.level) payload_list = [] push = None if args.level == 0: push = db.push_l0 elif args.level == 1: push = db.push_l1 elif args.level == 2: push = db.push_l2 else: return for row in rows: payload_list.append(json.dumps({**row, "batch": batch}, ensure_ascii=False)) if len(payload_list) >= 10000: push(payload_list) payload_list.clear() if payload_list: # 收尾 push(payload_list) print(f"✔ 推送 {len(rows)} 行(batch={batch})到 {push.__name__}队列完毕") db.close() if __name__ == "__main__": main()