- 新增 task_report 任务级聚合指标 task_metrics - 补充创建任务幂等与失败路径/冲突测试 - 将后端测试基线提升到 20 passed - 新增 edge-agent 初始化代码、启动脚本与打包脚本 - 新增 http_health_check、check_port、check_process、grep_log 执行器 - 补充 edge-agent 基础测试并提升基线到 10 passed - 同步更新 backend README 与当前进度总结
37 lines
869 B
Python
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()
|