Workiva Scripting offre una piattaforma flessibile e sicura per l'esecuzione di codice Python sul software Workiva. Questo articolo tratta alcuni degli scenari più comuni che puoi incontrare durante la creazione del tuo script.
Per questioni che non sono state trattate qui, consulta gli altri articoli di Scripting o accedi alla community Workiva APIs & Scripting.
Nota: Lo scripting è attualmente disponibile solo attraverso Customize Workiva. Per saperne di più.
Problemi con gli amministratori e i permessi
L'azione Esegui script non appare nelle Automazioni
Questo indica che non hai il ruolo necessario per eseguire questo script. Contatta il tuo amministratore dell'area di lavoro per assegnare un ruolo di scripting appropriato .
Se viene assegnato un ruolo obbligatorio e l'azione non è ancora disponibile, verifica che la funzione di scripting sia abilitata in quello specifico spazio di lavoro.
Connettore Workiva Scripting non disponibile nelle catene
Questo indica che il connettore Workiva Scripting non è stato abilitato per il tuo spazio di lavoro. Contattaci per abilitarlo.
Nessun ruolo di scripting è visibile all'amministratore dell'area di lavoro
Questo indica che la funzione di scripting non è stata abilitata per il tuo spazio di lavoro. Contattaci per abilitarla.
Problemi con il connettore Workiva Scripting e i comandi (catene)
L'esecuzione del comando si avvia ma l'esecuzione dello script non avviene
Verifica che la funzione di scripting sia stata abilitata per il tuo spazio di lavoro. In caso contrario, contattaci per abilitarlo.
Se hai confermato che lo scripting è abilitato, l'utente di integrazione per il connettore Workiva Scripting potrebbe non avere il ruolo necessario. Contatta il tuo amministratore di Workspace per assegnare un ruolo di Scripting appropriato. Devi anche verificare che l'utente dell'integrazione abbia i permessi per accedere allo script lanciato dal comando.
L'esecuzione del comando è ancora in corso ma l'esecuzione dello script si interrompe in modo imprevisto
Verifica che l'esecuzione dello script non sia stata annullata al di fuori di questo comando. La cronologia delle esecuzioni può essere trovata nel pannello Properties dell'editor di scripting o recuperata tramite gli endpoint Scripting Prototype API.
Se il problema non è questo, assicurati che l'esecuzione dello script non abbia raggiunto l'utilizzo massimo consentito della RAM (vedi Scripting Limits). Puoi farlo segnalando l'utilizzo della memoria nel tuo codice.
Di seguito abbiamo incluso un esempio di come riportare l'utilizzo della memoria con tracemalloc dalla libreria standard di Python .
# importare il modulo
importare tracemalloc
# codice o funzione per cui la memoria
# deve essere monitorata
def app():
lt = []
for i in range(0, 100000):
lt.append(i)
# avvio del monitoraggio
tracemalloc.start()
# chiamata di funzione
app()
# visualizzazione della memoria
print(tracemalloc.get_traced_memory())
# arresto della libreria
tracemalloc.stop()
Anche le esecuzioni di script hanno un tempo massimo di esecuzione (vedi Limiti di scripting); assicurati che l'esecuzione dello script non abbia raggiunto questo limite.
Infine, verifica che il codice dello script non includa le seguenti funzioni:
- quit()
- uscire()
- sys.exit()
- os._exit()
Queste funzioni hanno quasi la stessa funzionalità per sollevare l'eccezione SystemExit con cui l'interprete Python esce.
Esecuzione di comandi e script fuori sincrono
Questo accade quando il comando viene completato e l'esecuzione dello script continua, o viceversa.
Se il comando viene completato prima dell'esecuzione dello script, assicurati che il timeout del comando sia maggiore del tempo di esecuzione dello script (vedi Limiti di Scripting per conoscere il tempo massimo di esecuzione dello script).
Se l'esecuzione dello script viene completata solo pochi secondi prima del comando, potrebbe trattarsi di un ritardo dovuto all'elaborazione delle informazioni da parte del sistema di scripting dopo il completamento dell'esecuzione dello script. Il comando segnalerà il completamento solo quando l'intero processo sarà terminato.
Editor di scripting
L'importazione di una libreria non funziona
Workiva Scripting supporta la libreria standard di Python out-of-the-box, così come i componenti disponibili nel Python Package Index (per maggiori informazioni, vedi Librerie e dipendenze di Workiva Scripting supportate ). I componenti PyPI che richiedono installazioni aggiuntive potrebbero non essere supportati.
Assicurati che la libreria che stai cercando di importare faccia parte della libreria standard di Python o del Python Package Index. Se è un componente di quest'ultimo, assicurati che non siano necessarie altre installazioni.