Saltearse al contenido

Python

Este modulo permite ejecutar codigo Python personalizado dentro de un workflow. El codigo del usuario debe definir una funcion run(data) que recibe los datos del flujo como diccionario Python. El script se ejecuta como un proceso hijo Python3 independiente, con acceso a librerias de ciencia de datos como pandas, numpy, y utilidades estandar como json, datetime, math y statistics. El resultado debe ser un diccionario Python que se serializa como JSON. Es ideal para analisis de datos, procesamiento numerico avanzado, o integracion con ecosistemas Python.

ParametroTipoRequeridoDescripcion
scriptstringSiCodigo Python que define una funcion run(data). La funcion recibe un diccionario y debe retornar un diccionario.
{
"nextModule": "siguiente_modulo",
"data": {
"suma": 150.0,
"media": 30.0,
"tabla": [
{ "valor": 10, "doble": 20 },
{ "valor": 20, "doble": 40 }
]
}
}
{
"script": "def run(data):\n import numpy as np\n valores = data.get('valores', [])\n return {\n 'suma': float(np.sum(valores)),\n 'media': float(np.mean(valores))\n }"
}
  • Requiere Python 3 instalado y disponible como python3 en el PATH del sistema
  • Librerias disponibles por defecto: json, re, datetime, math, statistics, pandas, numpy
  • Si una libreria no esta instalada, se retorna un error indicando cual falta
  • Los datos de entrada se pasan via stdin como JSON
  • El resultado se serializa con json.dumps(result, default=str) para manejar tipos no serializables
  • El archivo temporal se elimina automaticamente despues de la ejecucion
  • Si el script Python falla o retorna exit code distinto de 0, se rechaza la promesa
  • phpRunner (ejecutar codigo PHP)
  • executescript (ejecutar JavaScript con acceso al contexto del workflow)
  • evaluateExpression (evaluar expresiones JavaScript simples)