2521690 2c7714268f feat: 补强 demo 后端任务指标与 edge-agent 执行骨架
- 新增 task_report 任务级聚合指标 task_metrics
- 补充创建任务幂等与失败路径/冲突测试
- 将后端测试基线提升到 20 passed
- 新增 edge-agent 初始化代码、启动脚本与打包脚本
- 新增 http_health_check、check_port、check_process、grep_log 执行器
- 补充 edge-agent 基础测试并提升基线到 10 passed
- 同步更新 backend README 与当前进度总结
2026-04-09 10:51:19 +08:00

37 lines
869 B
Python

from __future__ import annotations
import argparse
import logging
from app.core.config import get_settings
from app.core.logging import setup_logging
from app.scheduler.polling_runner import PollingRunner
logger = logging.getLogger(__name__)
def parse_args() -> argparse.Namespace:
parser = argparse.ArgumentParser(description="Smart Deploy Agent demo edge agent")
parser.add_argument("--once", action="store_true", help="run one heartbeat + pull + execute cycle")
return parser.parse_args()
def main() -> None:
setup_logging()
args = parse_args()
settings = get_settings()
runner = PollingRunner(settings)
try:
if args.once:
runner.run_once()
else:
runner.run_forever()
finally:
runner.close()
logger.info("edge agent stopped")
if __name__ == "__main__":
main()