Files
FastapiAdmin/backend/app/scripts/data/task_node.json
T
zhangtao 73f2823692 refactor: 大规模代码整理与功能优化
1. 重构后端API路由、CRUD与模块结构,整合日志管理,移除废弃demo代码
2. 优化前端组件类型定义、样式与路由配置,修复权限判断逻辑
3. 调整默认排序规则、滚动条样式与工具类函数,更新依赖与配置文件
4. 修复多处类型不匹配与默认值问题,完善表单与菜单验证逻辑
2026-06-17 01:56:31 +08:00

71 lines
3.8 KiB
JSON

[
{
"name": "演示任务",
"code": "demo_job",
"jobstore": "default",
"executor": "default",
"trigger": null,
"trigger_args": null,
"func": "import logging\n\ndef handler(*args, **kwargs):\n \"\"\"演示任务:打印参数并返回执行摘要\"\"\"\n logger = logging.getLogger(__name__)\n logger.info(f\"演示任务执行中,参数: args={args}, kwargs={kwargs}\")\n return {\n \"status\": \"success\",\n \"message\": \"演示任务执行成功\",\n \"args_received\": len(args),\n \"kwargs_keys\": list(kwargs.keys())\n }\n",
"args": null,
"kwargs": null,
"coalesce": false,
"max_instances": 1,
"start_date": null,
"end_date": null,
"status": 0,
"description": "最简演示任务,用于验证调度器基本功能"
},
{
"name": "数据库清理任务",
"code": "db_cleanup",
"jobstore": "sqlalchemy",
"executor": "default",
"trigger": null,
"trigger_args": null,
"func": "import logging\nfrom datetime import datetime, timedelta\n\ndef handler(*args, **kwargs):\n \"\"\"清理过期数据:删除N天前的日志和临时数据\"\"\"\n logger = logging.getLogger(__name__)\n days = kwargs.get(\"days\", 90)\n cutoff = datetime.now() - timedelta(days=days)\n logger.info(f\"清理 {cutoff.strftime('%Y-%m-%d')} 之前的过期数据...\")\n return {\n \"status\": \"success\",\n \"cutoff_date\": cutoff.strftime(\"%Y-%m-%d %H:%M:%S\"),\n \"deleted_count\": 0\n }\n",
"args": null,
"kwargs": "{\"days\": 30}",
"coalesce": true,
"max_instances": 1,
"start_date": null,
"end_date": null,
"status": 0,
"description": "清理过期操作日志和临时数据,建议每天凌晨3点执行"
},
{
"name": "健康检查任务",
"code": "health_check",
"jobstore": "default",
"executor": "default",
"trigger": null,
"trigger_args": null,
"func": "import logging\nimport psutil\n\ndef handler(*args, **kwargs):\n \"\"\"系统健康检查:采集 CPU、内存、磁盘使用率\"\"\"\n logger = logging.getLogger(__name__)\n cpu = psutil.cpu_percent(interval=1)\n mem = psutil.virtual_memory()\n disk = psutil.disk_usage(\"/\")\n status = \"healthy\" if cpu < 80 and mem.percent < 90 and disk.percent < 90 else \"warning\"\n logger.info(f\"健康检查: CPU={cpu}% MEM={mem.percent}% DISK={disk.percent}%\")\n return {\n \"status\": status,\n \"cpu_percent\": cpu,\n \"memory_percent\": mem.percent,\n \"disk_percent\": disk.percent,\n \"memory_total_gb\": round(mem.total / (1024**3), 1),\n \"disk_total_gb\": round(disk.total / (1024**3), 1)\n }\n",
"args": null,
"kwargs": null,
"coalesce": true,
"max_instances": 1,
"start_date": null,
"end_date": null,
"status": 0,
"description": "系统资源健康检查,建议每5分钟执行一次"
},
{
"name": "邮件批量发送",
"code": "email_batch",
"jobstore": "sqlalchemy",
"executor": "default",
"trigger": null,
"trigger_args": null,
"func": "import logging\n\ndef handler(*args, **kwargs):\n \"\"\"批量发送待发送邮件\"\"\"\n logger = logging.getLogger(__name__)\n batch_size = kwargs.get(\"batch_size\", 50)\n logger.info(f\"开始批量发送邮件,每批 {batch_size} 封...\")\n return {\n \"status\": \"success\",\n \"sent_count\": 0,\n \"failed_count\": 0,\n \"batch_size\": batch_size\n }\n",
"args": null,
"kwargs": "{\"batch_size\": 50}",
"coalesce": false,
"max_instances": 2,
"start_date": null,
"end_date": null,
"status": 0,
"description": "批量发送待发送邮件,建议每分钟执行一次"
}
]