feat: 添加脚本以将关键字/标题行导入Redis列表
This commit is contained in:
parent
8bdf23fbac
commit
594ef9350b
40
dump_keyword_web.py
Normal file
40
dump_keyword_web.py
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
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():
|
||||||
|
batch = int(time.time())
|
||||||
|
db = DBVidcon()
|
||||||
|
push = db.push_web
|
||||||
|
empty = db.web_empty
|
||||||
|
|
||||||
|
if empty():
|
||||||
|
rows = db.fetch_keyword_title(level=0)
|
||||||
|
payload_list = []
|
||||||
|
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)
|
||||||
|
|
||||||
|
data = {
|
||||||
|
"level": 0,
|
||||||
|
"batch": batch,
|
||||||
|
"count": len(rows),
|
||||||
|
}
|
||||||
|
db.log_batch_start(data)
|
||||||
|
print(f"✔ 推送 {len(rows)} 行(batch={batch})到 {push.__name__}队列完毕")
|
||||||
|
db.close()
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
main()
|
Loading…
x
Reference in New Issue
Block a user