Workiva Scripting tilbyr et fleksibelt og sikkert miljø for å kjøre Python-kode på Workiva-plattformen. Denne artikkelen dekker noen av de vanligste scenariene du kan støte på når du bygger manuset ditt.
Workiva-skripting er inkludert i Tilpass Workiva. For å bruke skripting må arbeidsområdet ditt ha Tilpass Workiva/skripting aktivert, og brukerne trenger riktig(e) skriptrolle(r) og filtillatelser.
For problemer som ikke dekkes her, sjekk ut våre andre Workiva Scripting-artikler eller besøkWorkiva API-erogWorkiva Scriptingfellesskapene.
Problemer med administratorer og tillatelser
Handlingen Utfør skript vises ikke i automatiseringer
Dette indikerer at du ikke har rollen som kreves for å kjøre dette skriptet. Kontakt arbeidsområdeadministratoren din for å tildele en passende skriptrolle.
Hvis en nødvendig rolle er tilordnet og handlingen fortsatt ikke er tilgjengelig, må du kontrollere at skriptfunksjonen er aktivert i det aktuelle arbeidsområdet.
Workiva Scripting-koblingen er ikke tilgjengelig i kjeder
Dette indikerer at Workiva Scripting-koblingen ikke er aktivert for arbeidsområdet ditt. Hvis du mener at det burde være aktivert, men det ikke er det, ta kontakt med Workiva-kontoteamet ditt.
Ingen skriptroller er synlige for arbeidsområdeadministratoren
Dette indikerer at skriptfunksjonen ikke er aktivert for arbeidsområdet ditt. Hvis du mener at det burde være aktivert, men det ikke er det, ta kontakt med Workiva-kontoteamet ditt.
Problemer med Workiva Scripting-kobling og kommandoer (kjeder)
Kommandokjøring starter, men skriptkjøring starter ikke
Kontroller at skriptfunksjonen er aktivert for arbeidsområdet ditt. Hvis du mener at det burde være aktivert, men det ikke er det, ta kontakt med Workiva-kontoteamet ditt.
Hvis du har bekreftet at skripting er aktivert, kan det hende at integrasjonsbrukeren for Workiva Scripting-koblingen ikke har den nødvendige rollen tildelt. Kontakt arbeidsområdeadministratoren din for å tildele en passende skriptrolle. Du bør også bekrefte at integrasjonsbrukeren har tilgang til skriptet som utløses av kommandoen.
Kommandoutførelsen pågår fortsatt, men skriptutførelsen stopper uventet
Vennligst bekreft at skriptkjøringen ikke ble avbrutt utenfor denne kommandoen. Kjørhistorikk finnes i Egenskaper -panelet i skriptredigeringsprogrammet eller hentes via Scripting Prototype API-endepunktene.
Hvis det ikke er problemet, må du sørge for at skriptkjøringen ikke har nådd maksimalt tillatt RAM-bruk (se Workiva Scripting Limits). Du kan gjøre dette ved å rapportere minnebruk i koden din.
Vi har inkludert et eksempel nedenfor på hvordan du rapporterer minnebruk med tracemalloc fra Python-standardbiblioteket.
# importerer modulen import tracemalloc # kode eller funksjon som minne # må overvåkes for def app(): lt = [] for i in range(0, 100000): lt.append(i) # starter overvåkingen tracemalloc.start() # kaller funksjonen app() # viser minnet print(tracemalloc.get_traced_memory()) # stopper biblioteket tracemalloc.stop()Skriptkjøringer har også en maksimal kjøretid (se Workiva Scripting Limits); sørg for at skriptkjøringen ikke har nådd denne grensen.
Til slutt, kontroller at skriptkoden ikke inkluderer følgende funksjoner:
- slutte()
- gå()
- sys.exit()
- os._exit()
Disse funksjonene har nesten samme funksjonalitet for å generere SystemExit-unntaket som Python-tolkeren avslutter med.
Kommando- og skriptkjøring er ikke synkronisert
Dette skjer når kommandoen fullføres og skriptkjøringen fortsetter, eller omvendt.
Hvis kommandoen fullføres før skriptet kjøres, må du sørge for at kommandotidsavbrudd er større enn skriptets kjøretid (se Workiva Scripting Limits for å lære om maksimal skriptkjøringstid).
Hvis skriptkjøringen fullføres bare sekunder før kommandoen, kan dette være en forventet forsinkelse forårsaket av at skriptsystemet behandler informasjon etter at skriptkjøringen er fullført. Kommandoen vil først rapportere fullføring når hele prosessen er fullført.
Skriptredigeringsprogram
Import av et bibliotek fungerer ikke
Workiva Scripting støtter Pythons standardbibliotek direkte fra esken, samt komponenter tilgjengelig fra Python Package Index(se Støttede Workiva Scripting-biblioteker og avhengigheter for mer informasjon). PyPI-komponenter som krever ytterligere installasjoner støttes kanskje ikke.
Sørg for at biblioteket du prøver å importere er en del av Pythons standardbibliotek eller Python-pakkeindeksen. Hvis det er en del av sistnevnte, må du sørge for at det ikke kreves ytterligere installasjoner.