From b6ffe174043212b80d346d4232107b1195aaa8ca Mon Sep 17 00:00:00 2001 From: Franklin-F Date: Sun, 29 Jun 2025 10:52:07 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=9B=B4=E6=96=B0=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E5=BA=93=E8=A1=A8=E7=BB=93=E6=9E=84=EF=BC=8C=E9=87=8D=E5=91=BD?= =?UTF-8?q?=E5=90=8D=E5=B9=B6=E4=BC=98=E5=8C=96=E5=AD=97=E6=AE=B5=E4=BB=A5?= =?UTF-8?q?=E6=94=AF=E6=8C=81=E6=96=B0=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- DB.py | 92 ++++++++++++++++++++++++++++++++--------------------------- 1 file changed, 50 insertions(+), 42 deletions(-) diff --git a/DB.py b/DB.py index 277b1ac..6355f17 100644 --- a/DB.py +++ b/DB.py @@ -19,7 +19,6 @@ MYSQL_URL = ( "mysql+pymysql://db_vidcon:rexdK4fhCCiRE4BZ" "@192.144.230.75:3306/db_vidcon?charset=utf8mb4" ) - _engine = create_engine( MYSQL_URL, pool_size=20, max_overflow=10, @@ -28,48 +27,58 @@ _engine = create_engine( ) _meta = MetaData() -video_op = Table("sh_dm_video_op_v2", _meta, - Column("v_id", BigInteger, primary_key=True), - Column("v_xid", String(64)), - Column("a_id", Integer), - Column("level", Integer), - Column("name_title", String(255)), - Column("keyword", String(255)), - Column("rn", String(8)), - Column("history_status", String(32)), - Column("is_repeat", Integer), - Column("sort", Integer), - Column("createtime", Integer), - Column("updatetime", Integer), - Column("batch", BigInteger), - Column("machine", Integer), - ) +# 操作记录表 (sh_dm_video_op_v3) +video_op = Table("sh_dm_video_op_v3", _meta, + Column("id", Integer, primary_key=True, autoincrement=True), + Column("v_id", String(64)), + Column("v_xid", String(64)), + Column("a_id", Integer, default=0), + Column("level", Integer), + Column("name_title", String(100)), + Column("keyword", String(100)), + Column("rn", String(50)), + Column("history_status", String(100)), + Column("is_repeat", Integer), + Column("is_piracy", String(2), default='3'), + Column("sort", Integer), + Column("createtime", Integer), + Column("updatetime", Integer), + Column("operatetime", Integer), + Column("batch", Integer), + Column("machine", Integer), + Column("ts_status", Integer, default=1), +) -video = Table("sh_dm_video_v2", _meta, - Column("v_id", BigInteger, primary_key=True), - Column("v_xid", String(64)), - Column("rn", String(8)), - Column("v_name", String(255)), - Column("title", String(255)), - Column("link", Text), - Column("edition", String(64)), - Column("duration", Integer), - Column("public_time", String(32)), - Column("cover_pic", Text), - Column("sort", Integer), - Column("u_xid", String(64)), - Column("u_id", BigInteger), - Column("u_pic", Text), - Column("u_name", String(255)), - Column("status", Integer), - Column("createtime", Integer), - Column("updatetime", Integer), +# 视频表 (sh_dm_video_v3) +video = Table("sh_dm_video_v3", _meta, + Column("id", Integer, primary_key=True, autoincrement=True), + Column("v_id", String(64)), + Column("v_xid", String(64)), + Column("v_name", String(255), nullable=False), + Column("title", String(255), nullable=False), + Column("link", String(255), nullable=False), + Column("is_piracy", Integer, default=3), + Column("edition", String(255), default=''), + Column("duration", String(11), default='0'), + Column("watch_number", Integer, default=0), + Column("follow_number", Integer, default=0), + Column("video_number", Integer, default=0), + Column("public_time", DateTime), + Column("cover_pic", String(255)), + Column("sort", Integer), + Column("history_status", String(255)), + Column("u_xid", String(64)), + Column("u_id", String(100)), + Column("u_pic", String(255)), + Column("u_name", String(255)), + Column("status", Integer, default=1), + Column("ts_status", Integer, default=1), + Column("createtime", Integer), + Column("updatetime", Integer), + Column("is_repeat", Integer, default=0), + Column("operatetime", Integer), +) - Column("watch_number", Integer), - Column("follow_number", Integer), - Column("video_number", Integer), - Column("is_repeat", Integer), - ) video_author = Table( "sh_dm_video_author", _meta, @@ -86,7 +95,6 @@ video_author = Table( Column("update_time", Integer, nullable=True, comment="更新时间(UNIX 时间戳)"), ) - def mysql_retry(max_retries: int = 3, base_delay: float = 2.0): """ 装饰器工厂:捕获 InterfaceError 后断线重连并重试,