Hinter den Kulissen

Wie läuft dies jetzt eigentlich hinter den Kulissen ab? Kurz und knapp geantwortet:
E V A = Einlesen + Verarbeiten + Ausgeben
In Summe laufen aktuell 17 einzelne Scripte rund um die Uhr, 7 Tage die Woche, 365 Tage im Jahr, und zwar vollautomatisch.
Der Großteil dieser Scripte startet im Minutentakt. So ergeben sich Gesamtausführungen von über 140.000 Ausführungen pro Woche:

Die Scripte teilen sich dabei in die drei oben genannten Kategorien auf:
– Einlesen: Scripte lesen die Aktienkurs mittels API-Abfragen in die Daten ein
– Verarbeiten: die eingelesenen Daten werden nach festen Regeln + Formeln verarbeitet
– Ausgeben: E-Mailversand mit Infos, wenn bestimmte Kriterien/Trigger erfüllt sind
Einlesen
Beim Einlesen werden die aktuellen Aktienkurse aller Aktien aus dem aktuellen Portfolio -> in die Datenmatrix eingelesen. Diese Arbeit übernehmen 7 Scripte, welche mittels API-Abfragen auf die aktuellen Aktienkurse zugreifen können. Die Ergebnisse dieser Abfragen werden anschließend ins Datensheet eingelesen und mit einem aktuellen Wechselkurs, welcher ebenfalls minütlich abgefragt wird, in einen €-Kurs umgerechnet, damit auch alle Berichte und Meldungen mit Eurokursen angegeben werden können.

Verarbeiten
Im Prozess der Verarbeitung werden die Aktienkurse, nachdem diese in das Datensheet eingelesen wurden, von 8 Scripten bearbeitet. Da die Verarbeitung sehr ressourcen-intensiv ist, wurden die einzelnen Aufgaben, auch wenn diese häufig sehr ähnlich sind, auf mehrere Scripte aufgeteilt.
Ein wichtiger Aspekt in diesem Projekt ist die Trend-Meldung. Um eine Aktie als möglichen Trend zu identifizieren, sind neben dem aktuellen Kurs zusätzlich auch die Kurse aus den vergangenen Minuten notwendig, welche dann über eine spezielle Formel ausgewertet werden.

Ähnlich schaut dies bei den 16 + 20 Uhr Daten sowie den stündlichen Daten aus, welche für die entsprechenden E-Mails benötigt werden.

Mittels der Scripte werden in etwa 35.000 Änderungen in der Datenmatrix je Stunde durchgeführt, dies sind pro Minute ca. 580 und pro Sekunde ca. 10 Änderungen an Zellen und dessen Daten! Die Bearbeitungen und Berechnungen müssen natürlich für alle 45 Aktien durchgeführt werden, weswegen eine so hohe Anzahl an Änderungen zustande kommt.
Die sich geänderten Daten führen anschließend zu einer neu Berechnung von Formel-Ergebnissen in der Datenmatrix, je nach dem natürlich, auf welche Daten die Formeln zugreifen. Für eine Aktie sind (Stand jetzt) 25 Formeln notwendig. Für alle Aktien häufen sich in Summe 1125 Formeln an + zusätzlich auch einige Formel für Kontroll-Mechanismen, so das wir sagen können, dass pro Minute in etwa 1150 Formeln neue Berechnungen durchführen.
Ausgeben
Das Ausgeben in diesem Projekt bezieht sich auf das automatische Versenden von E-Mails an den gesamten Verteiler sobald bestimmte Bedingungen erfüllt sind.
Dabei wird aktuell zwischen drei Versionen von E-Mails unterschieden, welche auf der Seite Mails -> genauer erklärt und aufgezeigt werden.
Logik/Bedingungen/Vorkehrungen
Alle 17 Scripte laufen aber nicht willkürlich. Es sind etliche logische Bedingungen an deren Ausführung geknüpft. Wie oben bereits erwähnt läuft der Großteil der Scripte jede Minute.
ABER: nur zu bestimmten logischen Bedingungen gehen die Scripte in die komplette Ausführung, andernfalls starten diese und beenden sich einen kurzen Augenblick später wieder automatisch.
Welche Bedingungen finden Anwendung?
- Prüfung, ob ein Werktag vorhanden ist (es bringt keinen Vorteil am Wochenende die Aktienkurse einzulesen, wenn die Börsen geschlossen sind, und sich die Aktienkurse dadurch nicht ändern).

- Viele Scripte prüfen vor deren Ausführung die Uhrzeit. So sollen bspw. die Scripte, welche um 16 Uhr und um 20 Uhr die „Überblick“ – E-Mails verschicken, auch nur zu dieser vollen Stunde in die Verarbeitung gehen. Ähnlich verhält es sich mit den Scripten, welche die Aktienkurse der vollen Stunde sammeln (diese werden in der Trend-Nachricht präsentiert): es genügt, wenn diese Scripte zu jeder vollen Stunde in die Ausführung gehen, und die Aktienkurse aller Aktien zur vollen Stunde einlesen.

Neben diesen logischen Bedingungen gibt es ebenfalls ein paar „Notfall“-Mechanismen, welche in bestimmten Szenarien greifen.
- Ich erinnere: das gesamte Projekt ist mittlerweile vollautomatisiert, und es gehen täglich ein paar E-Mails an alle im Verteiler befindlichen Mailadressen heraus. Was passiert, wenn den Personen, welche Zugriff auf den Code haben, etwas zustößt, und niemand mehr das Projekt warten kann, und auch keine Mailadresse aus dem Verteiler entnommen werden können? Sollen dann lebenslang E-Mails an den Verteiler verschickt werden? Nicht ganz. Hier greift der erste Mechanismus:
Spätestens nach 15 Tagen Inaktivität werden alle Scripte in eine Art „Stand-By“ versetzt, sodass diese nicht mehr komplett ausgeführt werden, und so auch keine E-Mails versendet werden können. Ab dem 10. Tag erhalten alle Personen mit Zugriff auf den Project-Code eine Warn-E-Mail mit der Info den Zähler, welcher sich täglich um 1 erhöht, zurückzusetzen.

- Die aktuell 45 in Wartung befindlichen Aktien lösen sehr viel Traffic aus. Dabei ist die Verarbeitung der Daten für die Trendberechnung der größte Ressourcenfresser. Es kommt dann gelegentlich vor, dass die Laufzeiten vieler Scripte unnatürlich in die Länge gezogen werden, und diese sich teilweise selbst überlagern (Script startet jede Minute, hat aber eine Laufzeit von über 60 Sekunden). Für diesen Fall wurde ein Mechanismus entwickelt, welcher die Scripte etwas „ausbremst“, ohne jedoch deren Funktion, Ausführung und Ergebnis zu stören.
Nebenstehende Übersicht zeigt die Ausführungen mit einem „ausgebremsten“ Verhalten im Vergleich zur Gesamtanzahl der Ausführung am Beispiel des Scripts, welches minütlich die Aktienkurse aller Aktien erliest. Die Daten in Spalte K sind vom November, die Daten in Spalte L aus dem Dezember (vorher gab es noch keine Sammlung der Ausführungen)
- Zusätzlich sind die Scripte so eingestellt und konzipiert, das diese, wenn es einen Fehler in der Ausführung gibt (egal ob Logik-Fehler, nicht def. Variable, Serverprobleme, Last-/Laufzeitprobleme, …) sofort eine E-Mail versenden und auf den Fehler hinweisen. Entweder kann der Fehler dann sofort behoben werden, oder man greift zu härteren Mitteln und stoppt das gesamte Projekt, und damit alle ausgeführten Scripte. Dies ist mit nur einem Klick möglich!
Grenzenlose Möglichkeiten
Willkommen in einer Welt grenzenloser Möglichkeiten, wo die Reise genauso aufregend ist wie das Ziel und wo jeder Moment eine Gelegenheit ist, deinen Abdruck auf der Leinwand des Daseins zu hinterlassen.
Grenzenlose Möglichkeiten
Willkommen in einer Welt grenzenloser Möglichkeiten, wo die Reise genauso aufregend ist wie das Ziel und wo jeder Moment eine Gelegenheit ist, deinen Abdruck auf der Leinwand des Daseins zu hinterlassen.
Grenzenlose Möglichkeiten
Willkommen in einer Welt grenzenloser Möglichkeiten, wo die Reise genauso aufregend ist wie das Ziel und wo jeder Moment eine Gelegenheit ist, deinen Abdruck auf der Leinwand des Daseins zu hinterlassen.
