po.py 3.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. # -*- coding: utf-8 -*-
  2. # @Author : YY
  3. from typing import Optional
  4. from sqlalchemy import CHAR, DateTime, String, UniqueConstraint, text
  5. from sqlalchemy.dialects.mysql import BIGINT
  6. from sqlalchemy.orm import Mapped, mapped_column
  7. import datetime
  8. from ruoyi_admin.ext import db
  9. class SysJobPo(db.Model):
  10. __tablename__ = 'sys_job'
  11. __table_args__ = (
  12. UniqueConstraint('job_name', 'job_group', name='uniq_job_name_group'),
  13. {'comment': '定时任务调度表'}
  14. )
  15. job_id: Mapped[int] = mapped_column(
  16. BIGINT(20),
  17. primary_key=True,
  18. autoincrement=True,
  19. comment='任务ID'
  20. )
  21. job_name: Mapped[str] = mapped_column(
  22. String(64),
  23. server_default=text("''"),
  24. comment='任务名称'
  25. )
  26. job_group: Mapped[str] = mapped_column(
  27. String(64),
  28. server_default=text("'DEFAULT'"),
  29. comment='任务组名'
  30. )
  31. invoke_target: Mapped[str] = mapped_column(String(500), comment='调用目标字符串')
  32. cron_expression: Mapped[Optional[str]] = mapped_column(String(255), server_default=text("''"), comment='cron执行表达式')
  33. misfire_policy: Mapped[Optional[str]] = mapped_column(String(20), server_default=text("'3'"), comment='计划执行错误策略(1立即执行 2执行一次 3放弃执行)')
  34. concurrent: Mapped[Optional[str]] = mapped_column(CHAR(1), server_default=text("'1'"), comment='是否并发执行(0允许 1禁止)')
  35. status: Mapped[Optional[str]] = mapped_column(CHAR(1), server_default=text("'0'"), comment='状态(0正常 1暂停)')
  36. create_by: Mapped[Optional[str]] = mapped_column(String(64), server_default=text("''"), comment='创建者')
  37. create_time: Mapped[Optional[datetime.datetime]] = mapped_column(DateTime, comment='创建时间')
  38. update_by: Mapped[Optional[str]] = mapped_column(String(64), server_default=text("''"), comment='更新者')
  39. update_time: Mapped[Optional[datetime.datetime]] = mapped_column(DateTime, comment='更新时间')
  40. remark: Mapped[Optional[str]] = mapped_column(String(500), server_default=text("''"), comment='备注信息')
  41. class SysJobLogPo(db.Model):
  42. __tablename__ = 'sys_job_log'
  43. __table_args__ = {'comment': '定时任务调度日志表'}
  44. job_log_id: Mapped[int] = mapped_column(BIGINT(20), primary_key=True, comment='任务日志ID')
  45. job_name: Mapped[str] = mapped_column(String(64), comment='任务名称')
  46. job_group: Mapped[str] = mapped_column(String(64), comment='任务组名')
  47. invoke_target: Mapped[str] = mapped_column(String(500), comment='调用目标字符串')
  48. job_message: Mapped[Optional[str]] = mapped_column(String(500), comment='日志信息')
  49. status: Mapped[Optional[str]] = mapped_column(CHAR(1), server_default=text("'0'"), comment='执行状态(0正常 1失败)')
  50. exception_info: Mapped[Optional[str]] = mapped_column(String(2000), server_default=text("''"), comment='异常信息')
  51. create_time: Mapped[Optional[datetime.datetime]] = mapped_column(DateTime, comment='创建时间')