Heim >Web-Frontend >js-Tutorial >Wie kann ich die Verarbeitungszeit von Google Apps-Skripten optimieren, um Verlangsamungen zu vermeiden?

Wie kann ich die Verarbeitungszeit von Google Apps-Skripten optimieren, um Verlangsamungen zu vermeiden?

Susan Sarandon
Susan SarandonOriginal
2024-12-02 19:26:15830Durchsuche

How Can I Optimize Google Apps Script Processing Time to Avoid Slowdowns?

Optimierung der Verarbeitungszeit in Google Apps Scripts

Problem:

Übermäßige Verarbeitungszeit in Google Apps-Skripte, insbesondere aufgrund der wiederholten Verwendung der Methoden getValue und setValue für den Bereich Objekte.

Beschreibung:

Um die Anzahl der Aufrufe an die Server von Google zu reduzieren und den Wechsel von Lese- und Schreibvorgängen zu minimieren, sollten Sie die folgenden Optimierungen in Betracht ziehen:

Anrufe an Dienste minimieren:

  • Mögliche Vorgänge verschieben wird innerhalb von Google Apps Script selbst durchgeführt, um kostspielige Netzwerkanfragen zu vermeiden.

Look-Ahead-Caching:

  • Nutzen Sie den integrierten Cache von Google Apps Script durch Minimierung der Anzahl der Lese- und Schreibvorgänge.

Abwechseln minimieren Lesen/Schreiben:

  • Vermeiden Sie abwechselnde Lese- und Schreibvorgänge, da dies die Wirksamkeit des Look-Ahead-Caching beeinträchtigt.

Verwenden Sie Arrays:

  • Lesen Sie Daten mit einem einzigen Befehl in ein Array, führen Sie Operationen auf dem Array aus und schreiben Sie dann die Daten zurück mit einem weiteren einzelnen Befehl in das Blatt einfügen.

Beispiel:

Hier ist ein Beispiel, wie das bereitgestellte Skript optimiert werden kann:

Original Slow Script:

for (row = 0; row < lastRow; row++) {
range1 = s.getRange(row + 1, 1);
cellValue = range1.getValue();

if (dash === '-' &amp;&amp; offset3) {
s.getRange(row + 1, 1, lastRow).offset(3, 0).moveTo(range1.offset(4, 0));
};    
}

Schnell optimiert Skript:

const lastRow = s.getRange("A:A").getLastRow();
const range1 = s.getRange(`A1:A${lastRow}`);
let cellValues = range1.getValues();

cellValues.forEach((value, index) => {
if (value.startsWith("-") &amp;&amp; cellValues[index + 3]) {
range1.getRange(index + 1, 1, lastRow).moveTo(range1.offset(index + 4, 0));
}   
});

Durch die Implementierung dieser Optimierungen reduziert das Skript die Anzahl der Aufrufe von Diensten erheblich und rationalisiert die Lese-/Schreibvorgänge, was zu schnelleren Verarbeitungszeiten führt.

Das obige ist der detaillierte Inhalt vonWie kann ich die Verarbeitungszeit von Google Apps-Skripten optimieren, um Verlangsamungen zu vermeiden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn