romero: Design-Änderung innerhalb zwischen Funktionsaufrufen

Beitrag lesen

Ja, es sei denn nach Init werden noch weitere Funktionen abgearbeitet, dann erst wieder nach diesen. Also zwischen 2 Events oder 2 Timeouts.

Nein alle Funktionen sind in diesem init() vorhanden. In diesem wird (bzw. sollte) alles aufgerufen, was benötigt wird.

Jetzt frage ich mal ganz blöd für mich. Wo teile ich da das Script? Bzw. wie schließe ich das oben genannte Gerüst ab? Und wie starte ich da weitere Funktionen?
Das mußt du entscheiden. Das hängt von der Laufzeit der Funktionen ab.

Ich wollte nach jeder aufgerufenen Funktion den Status für den Nutzer ausgeben, also:
   Excel-Tabelle ausgelesen: 10%
   usw.
Unabhängig von der Laufzeit, wo ist das Script denn fertig abgearbeitet? Nach der letzten (bzw. in der letzten) Funktion in der init()? Oder nach jeder einzelnen Funktion?
Also müsste ich die init() mit einer Funktion starten lassen und alle anderen ausserhalb der init() plazieren?
Sorry das ich jetzt so daher komme, aber will ja verstehen wie du es meinst mit dem abarbeiten einer Funktion, wenn aber alles aus einer großen init()-Funktion kommt.

Mit jeder Funktion für sich kann man anfangen. Eigentlich musst du sicherstellen, das ein Teilstück nie länger als n Sekunden läuft, egal wieviel Daten vorhanden sind. n = 1 dürfte da schon die Obergrenze sein, eher weniger.

Und dass das Script 1-2 Minuten läuft, kommt daher, dass die Datenmenge einfach riesig ist, die er erstmal auslesen müsste. In der Regel sind es aber ca. 10-40 Sekunden.
Das macht keinen Unterschied, außerdem musst du auch den Worst Case beherschen.

Was genau meinst du mit worst case? Nicht das ich nicht weiß was das ist, sondern wie genau du dass jetzt meinst? Wenn die Datenmenge zu groß wird?

Und wie soll ich da das Auslesen der Daten bewerkstelligen? In Teilschritten? Also immer 10 Daten auslesen, speichern, nächsten 10 auslesen,speichern, usw. und am Ende alle Teile zusammenführen? Das kommt noch bzw. ist in Arbeit. Werde diese Datenmenge als "Index'e" in eine *.txt speichern, da kommen nur die Daten rein, welche wirklich wichtig sind. Dadurch wurde die Zeit auf 1/4 verringert.

LG Romero