sys_job.py 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. from datetime import datetime
  2. from sqlalchemy import Column, DateTime, Integer, String
  3. from domain.models.base_model import FullModelBase, Base
  4. class SysJobModel(FullModelBase):
  5. """
  6. 定时任务调度表
  7. """
  8. __tablename__ = "sys_job"
  9. job_name = Column(String(64), nullable=True, default="", comment="任务名称")
  10. job_group = Column(String(64), nullable=True, default="default", comment="任务组名")
  11. job_executor = Column(
  12. String(64), nullable=True, default="default", comment="任务执行器"
  13. )
  14. invoke_target = Column(String(500), nullable=False, comment="调用目标字符串")
  15. job_args = Column(String(255), nullable=True, default="", comment="位置参数")
  16. job_kwargs = Column(String(255), nullable=True, default="", comment="关键字参数")
  17. cron_expression = Column(
  18. String(255), nullable=True, default="", comment="cron执行表达式"
  19. )
  20. misfire_policy = Column(
  21. String(20),
  22. nullable=True,
  23. default="3",
  24. comment="计划执行错误策略(1立即执行 2执行一次 3放弃执行)",
  25. )
  26. concurrent = Column(
  27. Integer, nullable=False, default=0, comment="是否并发执行(0允许 1禁止)"
  28. )
  29. status = Column(Integer, nullable=False, default=0, comment="状态(0正常 1暂停)")
  30. remark = Column(String(500), nullable=True, default="", comment="备注信息")
  31. class SysJobLogModel(Base):
  32. """
  33. 定时任务调度日志表
  34. """
  35. __tablename__ = "sys_job_log"
  36. job_log_id = Column(
  37. Integer, primary_key=True, autoincrement=True, comment="任务日志ID"
  38. )
  39. job_name = Column(String(64), nullable=False, comment="任务名称")
  40. job_group = Column(String(64), nullable=False, comment="任务组名")
  41. job_executor = Column(String(64), nullable=False, comment="任务执行器")
  42. invoke_target = Column(String(500), nullable=False, comment="调用目标字符串")
  43. job_args = Column(String(255), nullable=True, default="", comment="位置参数")
  44. job_kwargs = Column(String(255), nullable=True, default="", comment="关键字参数")
  45. job_trigger = Column(String(255), nullable=True, default="", comment="任务触发器")
  46. job_message = Column(String(500), nullable=True, default="", comment="日志信息")
  47. status = Column(
  48. String(1), nullable=True, default="0", comment="执行状态(0正常 1失败)"
  49. )
  50. exception_info = Column(String(2000), nullable=True, default="", comment="异常信息")
  51. create_time = Column(
  52. DateTime, nullable=True, default=datetime.now(), comment="创建时间"
  53. )