main.py 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. #!/usr/bin/env python
  2. # -*- coding: utf-8 -*-
  3. """
  4. 主入口
  5. """
  6. import sys
  7. import cron.tasks # 加载任务列表(同时检测数据库)
  8. from cron.scheduler import start_scheduler, list_jobs, run_job
  9. def main():
  10. if len(sys.argv) > 1:
  11. cmd = sys.argv[1]
  12. if cmd == "jobs":
  13. print("任务列表:")
  14. for name, cron, enabled in list_jobs():
  15. status = "启用" if enabled else "禁用"
  16. print(f" - {name}: {cron} [{status}]")
  17. elif cmd == "run":
  18. if len(sys.argv) > 2:
  19. job_name = sys.argv[2]
  20. start_date = sys.argv[3] if len(sys.argv) > 3 else None
  21. end_date = sys.argv[4] if len(sys.argv) > 4 else start_date
  22. group_id = sys.argv[5] if len(sys.argv) > 5 else None
  23. print(f"运行任务: {job_name}")
  24. run_job(job_name, start_date, end_date, group_id)
  25. else:
  26. print("用法: python main.py run <job_name> [start_date] [end_date] [group_id]")
  27. else:
  28. print(f"未知命令: {cmd}")
  29. print("用法:")
  30. print(" python main.py # 启动调度器")
  31. print(" python main.py jobs # 查看任务列表")
  32. print(" python main.py run clinic_log # 运行指定任务")
  33. else:
  34. start_scheduler()
  35. if __name__ == "__main__":
  36. main()