Este conteúdo foi traduzido por máquina para sua conveniência e a Huawei Cloud não pode garantir que o conteúdo foi traduzido com precisão. Para exibir o conteúdo original, use o link no canto superior direito para mudar para a página em inglês.
Central de ajuda> FunctionGraph> Perguntas frequentes> Migração do FunctionGraph V1 para V2> Quais problemas de compatibilidade existem durante a migração?
Atualizado em 2023-09-28 GMT+08:00

Quais problemas de compatibilidade existem durante a migração?

  1. Diferença de args
    V1:
    args = parser.parse_args()

    Após a migração para V2, será:

    args = parser.parse_args(args=[])

    O sys.argv do tempo de execução do Python varia entre as duas versões.

    Para V2, é ['/home/snuser/runtime/python3.6/server.py', '127.0.0.1:31536', '/opt/function/code'], cujos dois últimos parâmetros não estão disponíveis para V1.

  2. Diferença de asyncio
    V1:
    loop = asyncio.get_event_loop()
    loop.run_until_complete(func(arg1, arg2))
    loop.close()

    Após a migração para V2, será:

    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()

    Na V1, asyncio.get_event_loop() obtém o loop de eventos atual de thread do SO (thread principal). Ele lançará RuntimeError na V2, porque o tempo de execução do Python da V2 não executa funções em thread principal.

    Para usar asyncio na V2, crie um loop de eventos.

Migração do FunctionGraph V1 para V2 Perguntas frequentes

more