refactor: P4c 最终批次-4 job 模块

- get_job_page/add/update/delete/status 按新范式改造(get_info 委托 JobRepository)
- pause_job/resume_job/run_job_once/reload_all_jobs 去 R 改 BizError/返回数据
- router 取参包 R;修复多行 config 导入被 ast 破坏问题

【验收】flake8 零告警;应用启动;job 分页运行时正常;12 passed

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
DjangoAdmin Dev
2026-08-07 17:11:39 +08:00
co-authored by Claude
parent 0e0179859f
commit 6bd4951f95
9 changed files with 330 additions and 444 deletions
+15 -53
View File
@@ -9,13 +9,13 @@ from src.common.base_db import BaseDB
from src.common.base_model import BaseModel
from config import DB_PREFIX
from src.core.database import db
from src.common.utils.case_converter import convert_camel_to_snake
# ============================================================
# 定时任务模型
# ============================================================
class Job(BaseModel, BaseDB):
"""
定时任务模型
@@ -47,77 +47,36 @@ class Job(BaseModel, BaseDB):
# ============================================================
# 任务名称
job_name = db.Column(
db.String(255),
nullable=False,
comment="任务名称"
)
job_name = db.Column(db.String(255), nullable=False, comment="任务名称")
# 任务别名
job_alias = db.Column(
db.String(255),
nullable=True,
comment="任务别名"
)
job_alias = db.Column(db.String(255), nullable=True, comment="任务别名")
# 任务分组
job_group = db.Column(
db.String(255),
nullable=True,
comment="任务分组"
)
job_group = db.Column(db.String(255), nullable=True, comment="任务分组")
# 任务触发器
job_trigger = db.Column(
db.String(255),
nullable=True,
comment="任务触发器"
)
job_trigger = db.Column(db.String(255), nullable=True, comment="任务触发器")
# 任务状态:0-未发布 1-运行中 2-暂停 3-删除
status = db.Column(
db.Integer,
nullable=False,
default=0,
comment="任务状态:0-未发布 1-运行中 2-暂停 3-删除"
)
status = db.Column(db.Integer, nullable=False, default=0, comment="任务状态:0-未发布 1-运行中 2-暂停 3-删除")
# Cron表达式
cron_expression = db.Column(
db.String(255),
nullable=True,
comment="Cron表达式"
)
cron_expression = db.Column(db.String(255), nullable=True, comment="Cron表达式")
# 执行策略:1-立即执行 2-执行一次 3-放弃执行
execute_policy = db.Column(
db.Integer,
nullable=False,
default=1,
comment="执行策略:1-立即执行 2-执行一次 3-放弃执行"
db.Integer, nullable=False, default=1, comment="执行策略:1-立即执行 2-执行一次 3-放弃执行"
)
# 是否同步任务:0-否 1-是
is_sync = db.Column(
db.Integer,
nullable=False,
default=0,
comment="是否同步任务:0-否 1-是"
)
is_sync = db.Column(db.Integer, nullable=False, default=0, comment="是否同步任务:0-否 1-是")
# 任务URL
url = db.Column(
db.String(255),
nullable=True,
comment="任务URL"
)
url = db.Column(db.String(255), nullable=True, comment="任务URL")
# 任务备注
note = db.Column(
db.String(255),
nullable=True,
comment="任务备注"
)
note = db.Column(db.String(255), nullable=True, comment="任务备注")
# ============================================================
# 常量定义
@@ -125,6 +84,7 @@ class Job(BaseModel, BaseDB):
class Status:
"""任务状态常量"""
UNPUBLISHED = 0 # 未发布
RUNNING = 1 # 运行中
PAUSED = 2 # 暂停
@@ -132,12 +92,14 @@ class Job(BaseModel, BaseDB):
class ExecutePolicy:
"""执行策略常量"""
EXECUTE_NOW = 1 # 立即执行
EXECUTE_ONCE = 2 # 执行一次
ABANDON = 3 # 放弃执行
class IsSync:
"""是否同步任务常量"""
ASYNC = 0 # 异步
SYNC = 1 # 同步
@@ -146,7 +108,7 @@ class Job(BaseModel, BaseDB):
# ============================================================
def __repr__(self):
return '定时任务:{}'.format(self.job_name)
return "定时任务:{}".format(self.job_name)
def __str__(self):
return self.__repr__()