Ich brauche mal Unterstützung von den erfahrenen Modulentwicklern.
Aktuell wird mein Modul ZigBee2DeCONZ durch Alexa abgeschossen, was daran liegt, dass mein Modul anscheinend die Alexa-Befehle nicht schnell genug abgearbeitet kriegt. In der Folge laufen die Thread-Slots voll und IPS stürzt ab. Das sieht dann so aus:
Was ich dabei nicht verstehe: Woher kommen die „phprequire_once“ Aufrufe? In meinem Modul gibt es diese nicht. Wer löst diese aus und wie kann ich sie vermeiden?
Das ist IPS. Irgendwie muss es ja ein Objekt aus deiner PHP-Klasse erzeugen.
Das erfolgt durch die __generated Datei, welche deine PHP Datei einbindet mit requireonce und dann mit der InstanzID daraus ein Objekt erzeugt.
Passiert immer wenn IPS irgendwas mit deinem Modul machen muss; Datenaustausch, RequestAction, PHP-Befehle aus deinem Modul starten, etc…
Wenn der Slot rot ist, hat dein Modul den Slot gekillt. Wie…keine Ahnung
Michael
habe gerade mal geguckt: 230-250ms.
Wenn ich den Befehl über den Chromium-Advanced REST client absetze, dauert das lediglich 10ms.
zu den phprequire_once Aufrufen: Ist das normal, dass es doppelt soviele Aufrufe sind, wie RequestAction? Kann ich die Anzahl durch bessere Programmierung verringern?
oh, cool. Probier ich mal aus. Habe eben auch schon den Hauptverursacher gefunden. Wenn ich die Rückmeldung über SendDataToChildren rausnehme, komme ich von 240 auf 80ms.