Ir al contenido

Python

Este modulo permite ejecutar código Python personalizado dentro de un workflow. El código del usuario debe definir una función 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 estándar como json, datetime, math y statistics. El resultado debe ser un diccionario Python que se serializa como JSON. Es ideal para análisis de datos, procesamiento numérico avanzado, o integración con ecosistemas Python.

ParámetroTipoRequeridoDescripción
scriptstringSiCódigo Python que define una función run(data). La función 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 automáticamente después de la ejecución
  • Si el script Python falla o retorna exit code distinto de 0, se rechaza la promesa
  • phpRunner (ejecutar código PHP)
  • executescript (ejecutar JavaScript con acceso al contexto del workflow)
  • evaluateExpression (evaluar expresiones JavaScript simples)