Sustituir la función experimental por un paso paralelo

La función experimental Workflows experimental.executions.map inicia una ejecución de flujo de trabajo para cada argumento correspondiente y espera a que finalicen todas las ejecuciones. Después, devuelve una lista en la que cada elemento es el resultado de una ejecución.

Si usas experimental.executions.map para admitir el trabajo en paralelo, puedes migrar tu flujo de trabajo para que use pasos paralelos y ejecute bucles for normales en paralelo.

Un paso parallel define una parte de tu flujo de trabajo en la que se pueden ejecutar dos o más pasos simultáneamente. Un paso parallel espera hasta que se hayan completado todos los pasos definidos en él o hasta que se interrumpan por una excepción no controlada. Después, la ejecución continúa. Al igual que experimental.executions.map, no se garantiza el orden de ejecución. Para obtener más información, consulta la página de referencia de la sintaxis de los pasos paralelos.

Ten en cuenta que, para usar experimental.executions.map o workflows.executions.run, se necesita una cuota de ejecuciones simultáneas adicional. Sin embargo, cuando se usan pasos paralelos con llamadas a conectores insertados (consulta el ejemplo de conector de traducción), no se requiere ninguna cuota de ejecución adicional.

Los siguientes ejemplos tienen como objetivo ayudarte a sustituir el uso de experimental.executions.map por un paso parallel.

Flujo de trabajo de traducción

Dado un idioma de origen y un idioma de destino, el siguiente flujo de trabajo, llamado translate, usa el conector de Cloud Translation para traducir un texto de entrada y devolver el resultado. Ten en cuenta que la API Cloud Translation debe estar habilitada.

YAML

  main:
    params: [args]
    steps:
    - basic_translate:
        call: googleapis.translate.v2.translations.translate
        args:
          body:
            q: ${args.text}
            target: ${args.target}
            format: "text"
            source: ${args.source}