Hi,
sperrst Du das Script wenn ein Event aufgetreten ist? Ich kann mir vorstellen das es Probleme geben kann wenn X Events (fast) gleichzeitig ausgelöst werden. Ich würde es mit IPS_SemaphoreEnter gegen mehrfachen Aufruf schützen.
Hi,
ich sehe das Problem nicht darin das die Variable von verschiedenen Stellen geschrieben wird sondern das dein Script vielleicht 20 Mal gleichzeitig laufen kann denn gerade der Stromverbrauch ändert sich ja ständig. Stichwort konkurrierende Zugriffe bei Multithreading.
Warum in diesem Fall überhaupt so viele Ereignisse? Warum nicht einfach Script im Sekundentakt ausführen und alles summieren?
Werden die Archivdaten jetzt in dem Skript geschrieben oder ist dir das nur darüber aufgefallen? Prinzipiell sollte das Archiv aber natürlich die Werte korrekt sortieren, da hast du schon recht. Jetzt ist nur die Frage, was hier passiert…
Wobei das bei einer Reaggregation eigentlich glattgezogen werden müsste… Wie häufig passiert das denn? Kannst du mir dein Skript bereitstellen und ich lasse es einfach 10 mal laufen oder so?
Ok, ich habe als Test jetzt eine Variable erstellt, auf minütliche Verdichtung gesetzt und lasse jede Sekunde gettimeofday reinschreiben. Mal schauen, ob ich damit was entdecke…
Meine Vermutung ist, dass das Problem auftritt, wenn das Skript mehrfach aufgerufen wird. Vielleicht vervielfältigst du es noch. Eventuell auch mit einer kleinen Verzögerung: