Workiva Scripting proporciona una plataforma flexible y segura para ejecutar código Python en el software Workiva. Este artículo cubre algunos de los escenarios más comunes que puedes encontrarte mientras construyes tu script.
Para las incidencias no cubiertas aquí, consulta nuestro otros artículos sobre Scripting o accede a la comunidad Workiva APIs & Scripting.
Nota: Actualmente, el script solo está disponible a través de Personalizar Workiva. Obtén más información.
Incidencias administrativas y de permisos
La acción Ejecutar script no aparece en Automatizaciones
Esto indica que no tienes el rol necesario para ejecutar este script. Ponerse en contacto con el Administrador del espacio de trabajo para asignar un rol de scripting apropiado.
Si se asigna un rol necesario y la acción sigue sin estar disponible, comprueba que la función de script está activada en ese espacio de trabajo concreto.
El conector de Workiva Scripting no está disponible en Cadenas
Esto indica que el conector de Workiva Scripting no se ha habilitado para tu espacio de trabajo. Ponte en contacto con nosotros para que lo habilitemos.
El Administrador del Espacio de Trabajo no puede ver ningún rol de script.
Esto indica que la función de script no se ha activado para tu espacio de trabajo. Ponte en contacto con nosotros para que lo habilitemos.
Incidencias con los conectores y comandos de Workiva Scripting (cadenas)
Se inicia la ejecución del comando pero no se ejecuta el script
Verifica que se ha activado la función de script para tu espacio de trabajo. Si no es así, ponte en contacto con nosotros para que lo habilitemos.
Si has confirmado que el script está activado, es posible que el usuario de integración para el conector Workiva Scripting no tenga asignado el rol necesario. Ponerse en contacto con el Administrador del espacio de trabajo para asignar un rol apropiado Scripting. También debes verificar que el usuario de integración tiene permiso para acceder al script disparado por el comando.
La ejecución del comando sigue en progreso, pero la ejecución del script se detiene inesperadamente
Verifica que la ejecución del script no se ha cancelado fuera de este comando. El historial de ejecución puede encontrarse en el panel Properties del editor de scripts o recuperarse a través de los puntos finales de la API Scripting Prototype.
Si ese no es el problema, asegúrate de que la ejecución del script no ha alcanzado el uso máximo de RAM permitido (consulta Límites de script). Puedes hacerlo notificando el uso de memoria en tu código.
A continuación incluimos un ejemplo de cómo informar de la utilización de memoria con tracemalloc desde el biblioteca estándar de Python.
# importando el módulo
import tracemalloc
# código o función cuya memoria
# hay que monitorizar
def app():
lt = []
for i in range(0, 100000):
lt.append(i)
# inicio de la monitorización
tracemalloc.start()
# llamada a la función
app()
# visualización de la memoria
print(tracemalloc.get_traced_memory())
# detención de la biblioteca
tracemalloc.stop()
Las ejecuciones de script también tienen un tiempo máximo de ejecución (consulta Límites de script)
Por último, verifica que el código del script no incluye las siguientes funciones:
- abandonar()
- salir()
- sys.exit()
- os._exit()
Estas funciones tienen casi la misma funcionalidad para lanzar la excepción SystemExit por la que sale el intérprete Python.
Desincronización del comando y la ejecución del script
Esto ocurre cuando el comando finaliza y el script sigue ejecutándose, o viceversa.
Si el comando finaliza antes de que se ejecute el script, asegúrate de que el tiempo de espera del comando es mayor que el tiempo de ejecución del script (consulta Límites del script para conocer el tiempo máximo de ejecución del script).
Si la ejecución del script finaliza unos segundos antes que el comando, puede tratarse de un retraso esperado causado por el sistema de Scripting que procesa la información una vez finalizada la ejecución del script. El comando solo informará de la finalización cuando todo el proceso haya terminado.
Editor de scripts
Importar una biblioteca no funciona
Workiva Scripting es compatible desde el principio con la biblioteca estándar de Python, así como con los componentes disponibles en el índice de paquetes de Python (para obtener más información, consulta Bibliotecas y dependencias de Workiva Scripting compatibles). Es posible que no se admitan los componentes de PyPI que requieran instalaciones adicionales.
Asegúrate de que la biblioteca que intentas importar forma parte de la biblioteca estándar de Python o del índice de paquetes de Python. Si es un componente de este último, asegúrate de que no requiere instalaciones adicionales.