Python3安装

作为边缘计算平台,Fox-Edge允许用户开发自己的Python私有化服务,然后部署到Fox-Edge之中,与Fox-Edge构成更为丰富的边缘计算。

在此之前,需要预先安装Python的运行时环境,以及一些必要的组件。

代码注意事项

Fox-Edge管理服务在启动用户托管的Python程序时,会将MySql和Redis的连接参数传递给用户自己的Python程序的入口程序文件, 那么Python私有化程序,可以通过下列语句的方式获得mysql和redis连接参数,跟mysql和redis进行连接后,对它们进行访问操作。

包括建立自己的私有化数据库表和topic,也包括读取fox-edge的mysql和redis的信息。

  #入口程序py的头部,可以通过这段语句获得mysql、redis的连接信息
  
  args = sys.argv[1:] # 去除第一个元素(脚本名称),restart.sh会将必要的redis、mysql和自定义的pyParam参数传递进来。
  

实际上,fox-edge的管理服务,是通过linux的命令行,将系统参数传递给用户的私有化python服务的。

  #  可以使用该命令,在linux下查看,fox-edge传递给python服务的命令行参数
  #ps -aux|grep python

  python3 /opt/fox-edge/bin/service/python-server-demo/python-server-demo-20240312.py --app_type=service --app_name=python-server-demo --env_type=device server.port=9021 redis.host=localhost redis.port=6379 redis.password=12345678 mysql.host=localhost mysql.port=3306 mysql.username=fox-edge mysql.password=12345678 mysql.database=fox_edge
  

程序包

用户的私有化Python服务开发完成以后,按照Fox-Edge下面提示的打包方式进行打包,就可以安装到Fox-Edge之中,并被Fox-Edge的管理服务进行自动管理。

Fox-Edge管理服务在启动用户托管的Python程序时,会将MySql和Redis的连接参数传递给用户自己的Python程序的入口程序文件,

appEngine (必填): 必须为 python3

appType (必填): 建议为 service

appName (必填): 服务名称

pyName (必填): Python主程序的文件名称,Python程序可以包括多个自定义的py程序文件,其中一个py为启动程序,其他为被它调用的自定义lib的py

pyParam (选填): 如果需要传递一些自定义的命令行参数给python,可以在这边填写相关内容

配置文件范例:


  appEngine=python3
  appType=service
  appName=python-server-demo
  pyName=python-server-demo-20240312.py
  pyParam=" param1=1234 param2=5678"
  

那么最终会形成这种格式的启动命令行,那么python程序内,可以通过args = sys.argv[1:] 获得自己需要的参数

  #构造的可执行命令行
  python3 /opt/fox-edge/bin/service/python-server-demo/python-server-demo-20240312.py --app_type=service --app_name=python-server-demo --env_type=device server.port=9132 redis.host=localhost redis.port=6379 redis.password=12345678 mysql.host=localhost mysql.port=3306 mysql.username=fox-edge mysql.password=12345678 mysql.database=fox_edge param1=1234 param2=5678

范例

具体的Python范例,可以参考范例项目python-server-demo.tar