j9九游会登录/ 函数工作流 functiongraph/ 常见问题/ 产品咨询/ python语言的函数从v1版本迁移到v2版本时需注意哪些兼容性问题?
更新时间:2025-08-14 gmt 08:00

python语言的函数从v1版本迁移到v2版本时需注意哪些兼容性问题?-j9九游会登录

  1. args的区别
    v1使用的语法:
    args = parser.parse_args()

    如果迁移到v2,需修改为:

    args = parser.parse_args(args=[])

    因为v1和v2 python runtime的sys.argv结构不同。

    v2是['/home/snuser/runtime/python3.6/server.py', '127.0.0.1:31536', '/opt/function/code'],比v1多了后面2个参数。

  2. asyncio的区别
    v1使用的语法:
    loop = asyncio.get_event_loop()
    loop.run_until_complete(func(arg1, arg2))
    loop.close()

    如果迁移到v2,需修改为:

    loop_tmp = asyncio.new_event_loop()
    asyncio.set_event_loop(loop_tmp)
    loop = asyncio.get_event_loop()
    loop.run_until_complete(func(arg1, arg2))
    loop.close()

    因为asyncio.get_event_loop()是从os线程(主线程)获取当前事件循环,而v2的python runtime不是在主线程运行用户函数,所以函数内asyncio.get_event_loop()会抛出runtimeerror。

    v2使用asyncio需要新建并设置事件循环。

相关文档

网站地图