config.py 945 B

12345678910111213141516171819202122232425262728293031323334353637383940
  1. """Task 配置与状态常量 —— 从 supply.jobs.task_config 迁移"""
  2. from dataclasses import dataclass
  3. @dataclass
  4. class TaskConfig:
  5. """单个任务的运行时配置"""
  6. timeout: int # 超时时间(秒)
  7. max_concurrent: int = 5 # 最大并发数
  8. retry_times: int = 0 # 重试次数
  9. retryable: bool = True # 是否可重试
  10. alert_on_failure: bool = True # 失败时是否告警
  11. class TaskStatus:
  12. """任务状态常量"""
  13. INIT = 0
  14. PROCESSING = 1
  15. SUCCESS = 2
  16. FAILED = 99
  17. class TaskConstants:
  18. """任务系统常量"""
  19. DEFAULT_TIMEOUT = 1800
  20. DEFAULT_MAX_CONCURRENT = 5
  21. DEFAULT_RETRY_TIMES = 0
  22. def get_default_task_config() -> TaskConfig:
  23. """获取默认任务配置"""
  24. return TaskConfig(
  25. timeout=TaskConstants.DEFAULT_TIMEOUT,
  26. max_concurrent=TaskConstants.DEFAULT_MAX_CONCURRENT,
  27. retry_times=TaskConstants.DEFAULT_RETRY_TIMES,
  28. )