2016-08-09 5 views
0

Ich verwende das geplante Skript, das die benutzerdefinierten Datensätze basierend auf Kriterien erstellt. Jedes Mal, wenn das Zeitplanskript ausgeführt wird, sollte es ca. 100.000 Datensätze, aber das Skript läuft nach dem Erstellen von 5000 oder 10000 Datensätzen ab. Ich benutze das folgende Skript, um die Nutzungsbeschränkung für Skripts zu verhindern, aber auch damit funktioniert das Skript nicht. Kann jemand bitte etwas vorschlagen oder irgendwelche Informationen geben. Alle Vorschläge sind willkommen und sehr geschätzt.Wie kann ich die Ausführungsbeschränkung in geplanten Skripts verhindern?

In meiner for-Schleife iam mit dem folgenden Skript. Mit diesem Skript kann das geplante Skript nur bis zu 5000 oder 10000 Datensätze erstellen.

if (nlapiGetContext().getRemainingUsage() <= 0 && (i+1) < results.length) 
    { 
    var stateMain = nlapiYieldScript(); 
    } 

Antwort

1

Wenn Sie den nlapiYieldScript Mechanismus zur Umschuldung werden verwendet, dann müssen Sie auch nlapiSetRecoveryPoint an dem Punkt verwenden, wo Sie das Skript wieder aufnehmen möchten. Finden Sie in der Hilfedokumentation für jede dieser Methoden, sowie die Seite mit dem Titel Einstellung Wiederherstellungspunkte in Geplante Skripts

Beachten Sie, dass nlapiSetRecoveryPoint verwendet 100 Governance Einheiten, so müssen Sie dafür in Ihrem getRemainingUsage Prüfung berücksichtigen.

+0

Die NS-Dokumentation scheint das Gegenteil zu suggerieren. Die 'Scheduling APIs' Seite sagt' nlapiYieldScript' wird automatisch einen Wiederherstellungspunkt setzen und nicht die Standard 100 Einheiten verwenden. Ihr Beispielskript ruft auch 'nlapiSetRecoveryPoint' nicht auf. – CyberEd

1

Ich habe ein Skript, mit dem Sie ein Array wie forEach verarbeiten können. Das Skript prüft jede Iteration und berechnet die maximale Nutzung und Erträge, wenn nicht mehr genug übrig ist, um den maximalen Wert zu decken.

Head over auf https://github.com/BKnights/KotN-Netsuite und downloaden simpleBatch.js

Verwandte Themen