| 1234567891011121314151617181920212223242526272829303132333435363738394041 |
- #!/usr/bin/env python
- # -*- coding: utf-8 -*-
- """
- 主入口
- """
- import sys
- import cron.tasks # 加载任务列表(同时检测数据库)
- from cron.scheduler import start_scheduler, list_jobs, run_job
- def main():
- if len(sys.argv) > 1:
- cmd = sys.argv[1]
- if cmd == "jobs":
- print("任务列表:")
- for name, cron, enabled in list_jobs():
- status = "启用" if enabled else "禁用"
- print(f" - {name}: {cron} [{status}]")
- elif cmd == "run":
- if len(sys.argv) > 2:
- job_name = sys.argv[2]
- start_date = sys.argv[3] if len(sys.argv) > 3 else None
- end_date = sys.argv[4] if len(sys.argv) > 4 else start_date
- group_id = sys.argv[5] if len(sys.argv) > 5 else None
- print(f"运行任务: {job_name}")
- run_job(job_name, start_date, end_date, group_id)
- else:
- print("用法: python main.py run <job_name> [start_date] [end_date] [group_id]")
- else:
- print(f"未知命令: {cmd}")
- print("用法:")
- print(" python main.py # 启动调度器")
- print(" python main.py jobs # 查看任务列表")
- print(" python main.py run clinic_log # 运行指定任务")
- else:
- start_scheduler()
- if __name__ == "__main__":
- main()
|