minio对象存储数据库链接

This commit is contained in:
z66
2025-09-16 14:41:24 +08:00
parent 2074d5b9ed
commit 8e92acf5d5
5 changed files with 455 additions and 81 deletions
+102 -49
View File
@@ -3,6 +3,10 @@ from datetime import datetime
from system_management.scheduler.task_scheduler import TaskScheduler
from system_management.scheduler.task_manager import TaskManager
from config.config import ConfigManager
from utils.logger import CrossPlatformLog
# 初始化日志
log = CrossPlatformLog.get_logger("TaskManagement")
def main():
@@ -58,67 +62,111 @@ def main():
# 执行相应命令
if args.command == "list":
tasks = manager.get_all_tasks(args.active_only)
manager.print_task_table(tasks)
try:
tasks = manager.get_all_tasks(args.active_only)
manager.print_task_table(tasks)
log.info(f"列出任务完成,共{len(tasks)}个任务")
except Exception as e:
log.error(f"列出任务失败: {str(e)}", exc_info=True)
elif args.command == "show":
task = manager.get_task_by_id(args.task_id)
if task:
print("\n===== 任务详情 =====")
for key, value in task.items():
print(f"{key}: {value}")
print("====================")
try:
task = manager.get_task_by_id(args.task_id)
if task:
print("\n===== 任务详情 =====")
for key, value in task.items():
print(f"{key}: {value}")
print("====================")
log.info(f"显示任务详情成功,任务ID: {args.task_id}")
else:
log.warning(f"未找到任务ID: {args.task_id}")
print(f"任务ID {args.task_id} 不存在")
except Exception as e:
log.error(f"显示任务详情失败,任务ID: {args.task_id}", exc_info=True)
elif args.command == "update":
updates = {}
if args.name:
updates['task_name'] = args.name
if args.type:
updates['task_type'] = args.type
if args.module:
updates['module_path'] = args.module
if args.cron:
updates['cron_expression'] = args.cron
if args.timezone:
updates['time_zone'] = args.timezone
try:
updates = {}
if args.name:
updates['task_name'] = args.name
if args.type:
updates['task_type'] = args.type
if args.module:
updates['module_path'] = args.module
if args.cron:
updates['cron_expression'] = args.cron
if args.timezone:
updates['time_zone'] = args.timezone
if manager.update_task(args.task_id, updates):
print(f"任务ID {args.task_id} 更新成功")
else:
print(f"任务ID {args.task_id} 更新失败")
if not updates:
log.warning("未提供任何更新字段")
print("请至少指定一个更新字段")
return
if manager.update_task(args.task_id, updates):
log.info(f"任务ID {args.task_id} 更新成功")
print(f"任务ID {args.task_id} 更新成功")
else:
log.warning(f"任务ID {args.task_id} 更新失败")
print(f"任务ID {args.task_id} 更新失败")
except Exception as e:
log.error(f"更新任务失败,任务ID: {args.task_id}", exc_info=True)
elif args.command == "toggle":
if args.activate:
success = manager.toggle_task_status(args.task_id, True)
action = "启用"
elif args.deactivate:
success = manager.toggle_task_status(args.task_id, False)
action = "禁用"
else:
print("请指定 --activate 或 --deactivate")
return
try:
if args.activate and args.deactivate:
log.warning("不能同时指定 --activate 和 --deactivate")
print("不能同时指定 --activate 和 --deactivate")
return
if not args.activate and not args.deactivate:
log.warning("请指定 --activate 或 --deactivate")
print("请指定 --activate 或 --deactivate")
return
if success:
print(f"任务ID {args.task_id} {action}成功")
else:
print(f"任务ID {args.task_id} {action}失败")
if args.activate:
success = manager.toggle_task_status(args.task_id, True)
action = "启用"
else:
success = manager.toggle_task_status(args.task_id, False)
action = "禁用"
if success:
log.info(f"任务ID {args.task_id} {action}成功")
print(f"任务ID {args.task_id} {action}成功")
else:
log.warning(f"任务ID {args.task_id} {action}失败")
print(f"任务ID {args.task_id} {action}失败")
except Exception as e:
log.error(f"切换任务状态失败,任务ID: {args.task_id}", exc_info=True)
elif args.command == "delete":
confirm = input(f"确定要删除任务ID {args.task_id} 吗? (y/n) ")
if confirm.lower() == 'y':
if manager.delete_task(args.task_id):
print(f"任务ID {args.task_id} 删除成功")
try:
confirm = input(f"确定要删除任务ID {args.task_id} 吗? (y/n) ")
if confirm.lower() == 'y':
if manager.delete_task(args.task_id):
log.info(f"任务ID {args.task_id} 删除成功")
print(f"任务ID {args.task_id} 删除成功")
else:
log.warning(f"任务ID {args.task_id} 删除失败")
print(f"任务ID {args.task_id} 删除失败")
else:
print(f"任务ID {args.task_id} 删除失败")
else:
print("操作已取消")
log.info(f"用户取消删除任务ID {args.task_id}")
print("操作已取消")
except Exception as e:
log.error(f"删除任务失败,任务ID: {args.task_id}", exc_info=True)
elif args.command == "run":
print(f"正在手动执行任务ID {args.task_id}...")
if manager.run_task_manually(args.task_id):
print(f"任务ID {args.task_id} 执行成功")
else:
print(f"任务ID {args.task_id} 执行失败")
try:
log.info(f"开始手动执行任务ID {args.task_id}")
print(f"正在手动执行任务ID {args.task_id}...")
if manager.run_task_manually(args.task_id):
log.info(f"任务ID {args.task_id} 执行成功")
print(f"任务ID {args.task_id} 执行成功")
else:
log.warning(f"任务ID {args.task_id} 执行失败")
print(f"任务ID {args.task_id} 执行失败")
except Exception as e:
log.error(f"手动执行任务失败,任务ID: {args.task_id}", exc_info=True)
elif args.command == "add":
try:
@@ -129,10 +177,15 @@ def main():
cron_expression=args.cron,
time_zone=args.timezone
)
log.info(f"新任务添加成功,ID: {task_id}")
print(f"新任务添加成功,ID: {task_id}")
except Exception as e:
log.error(f"添加任务失败: {str(e)}", exc_info=True)
print(f"添加任务失败: {str(e)}")
else:
parser.print_help()
if __name__ == "__main__":
main()
main()