JavaScript-kodfel: "spill i allokeringsstorlek"
I den här artikeln finns en lösning på problemet där JavaScript-koden under Campaign Classicen visas som"spill av allokeringsstorlek".
Beskrivning description
Miljö
Adobe Campaign Classic (ACC)
Problem
Spill i allokeringsstorlek i JavaScript
Detta är en typ av minnesproblem där det minne som tilldelats för varje fråga i JavaScript som försöker få åtkomst till databasen överskrider gränsen som angetts i serverkonfigurationsfilen.
T.ex.: När en leverans till en LINE med 30 000 mottagare körs och efterbearbetningen anropas för att filen ska kunna genereras på LINE, genereras ett fel i JavaScript-koden som läser filen till variabler: spill i allokeringsstorlek
Upplösning resolution
Det här felet kan lösas på två sätt:
- Öka minnesallokeringen i serverConf.xml:
maxMB : Maximum size in megabytes before running the garbage collector Default: 64 stackSizeKB : Size of each stack chunk in kilo octets Default: 8 --> <javaScript maxMB="512" stackSizeKB="8"
/>
* Obs! För värdservern utför Adobe TechOps-teamet den här uppgiften. För lokal användning måste de berörda företagen själva göra ändringarna.*
(Tips! IAtt öka JavaScript från 64 MB till 512 MB krävs för anpassade och komplexa rapporter i stora tabeller)
- Använd
linecount=<no of records to retrieve> or noLineCount =truenär du skapar frågedefinitionen.
Det skulle se ut som < queryDef schema=schemaName operation= Select lineCount= 100000 or noLineCount=true
Ovanstående alternativ kan dock endast fungera för vissa antal och inte om antalet överskrider ett visst värde.