Sim

Flujo de trabajo

El bloque de Flujo de trabajo te permite ejecutar otros flujos de trabajo como componentes reutilizables dentro de tu flujo de trabajo actual. Esto permite un diseño modular, reutilización de código y la creación de flujos de trabajo complejos anidados que pueden componerse a partir de flujos de trabajo más pequeños y enfocados.

Bloque de Flujo de trabajo

Los bloques de Flujo de trabajo permiten un diseño modular al permitirte componer flujos de trabajo complejos a partir de componentes más pequeños y reutilizables.

Descripción general

El bloque de Flujo de trabajo sirve como puente entre flujos de trabajo, permitiéndote:

Reutilizar flujos de trabajo existentes: Ejecutar flujos de trabajo previamente creados como componentes dentro de nuevos flujos de trabajo

Crear diseños modulares: Desglosar procesos complejos en flujos de trabajo más pequeños y manejables

Mantener la separación de responsabilidades: Mantener diferentes lógicas de negocio aisladas en flujos de trabajo separados

Facilitar la colaboración en equipo: Compartir y reutilizar flujos de trabajo entre diferentes proyectos y miembros del equipo

Cómo funciona

El bloque de Flujo de trabajo:

  1. Toma una referencia a otro flujo de trabajo en tu espacio de trabajo
  2. Pasa datos de entrada desde el flujo de trabajo actual al flujo de trabajo hijo (disponible a través de start.input)
  3. Ejecuta el flujo de trabajo hijo en un contexto aislado
  4. Devuelve el resultado al flujo de trabajo padre para su posterior procesamiento

Opciones de configuración

Selección de flujo de trabajo

Elige qué flujo de trabajo ejecutar desde una lista desplegable de flujos de trabajo disponibles en tu espacio de trabajo. La lista incluye:

  • Todos los flujos de trabajo a los que tienes acceso en el espacio de trabajo actual
  • Flujos de trabajo compartidos contigo por otros miembros del equipo
  • Tanto flujos de trabajo habilitados como deshabilitados (aunque solo los habilitados pueden ser ejecutados)

Contexto de ejecución

El flujo de trabajo secundario se ejecuta con:

  • Su propio contexto de ejecución aislado
  • Acceso a los mismos recursos del espacio de trabajo (claves API, variables de entorno)
  • Verificaciones adecuadas de permisos y membresía del espacio de trabajo
  • Tracespan anidado en el registro de ejecución

Detección de ciclos: El sistema detecta y previene automáticamente dependencias circulares entre flujos de trabajo para evitar bucles infinitos.

Entradas y salidas

  • Selección de flujo de trabajo: Elige qué flujo de trabajo ejecutar

  • Datos de entrada: Variable o referencia de bloque para pasar al flujo de trabajo secundario

  • Contexto de ejecución: Entorno aislado con recursos del espacio de trabajo

  • workflow.success: Booleano que indica el estado de finalización

  • workflow.childWorkflowName: Nombre del flujo de trabajo secundario ejecutado

  • workflow.result: Resultado devuelto por el flujo de trabajo secundario

  • workflow.error: Detalles del error si el flujo de trabajo falló

  • Respuesta del flujo de trabajo: Salida principal del flujo de trabajo secundario

  • Estado de ejecución: Estado de éxito e información de error

  • Acceso: Disponible en bloques después del flujo de trabajo

Ejemplos de casos de uso

Incorporación modular de clientes

Escenario: Dividir la incorporación compleja en componentes reutilizables

  1. El flujo de trabajo principal recibe datos del cliente
  2. El bloque de flujo de trabajo ejecuta el flujo de validación
  3. El bloque de flujo de trabajo ejecuta el flujo de configuración de cuenta
  4. El bloque de flujo de trabajo ejecuta el flujo de correo de bienvenida

Arquitectura de microservicios

Escenario: Crear flujos de trabajo de servicios independientes

  1. El flujo de trabajo de procesamiento de pagos gestiona transacciones
  2. El flujo de trabajo de gestión de inventario actualiza el stock
  3. El flujo de trabajo de notificaciones envía confirmaciones
  4. El flujo de trabajo principal orquesta todos los servicios

Procesamiento condicional

Escenario: Ejecutar diferentes flujos de trabajo según condiciones

  1. El bloque de condición evalúa el tipo de usuario
  2. Usuarios empresariales → Flujo de trabajo de aprobación complejo
  3. Usuarios estándar → Flujo de trabajo de aprobación simple
  4. Usuarios gratuitos → Flujo de trabajo de procesamiento básico

Mejores prácticas

  • Mantén los flujos de trabajo enfocados: Diseña flujos de trabajo secundarios para manejar tareas específicas y bien definidas con entradas y salidas claras
  • Minimiza la profundidad de anidación: Evita jerarquías de flujos de trabajo profundamente anidadas para mejorar la mantenibilidad y el rendimiento
  • Maneja los errores con elegancia: Implementa un manejo adecuado de errores para fallos en flujos de trabajo secundarios y proporciona mecanismos alternativos
  • Prueba de forma independiente: Asegúrate de que los flujos de trabajo secundarios puedan ser probados y validados independientemente de los flujos de trabajo principales
  • Usa nomenclatura semántica: Asigna a los flujos de trabajo nombres descriptivos que indiquen claramente su propósito y funcionalidad
Flujo de trabajo