FHEM Forum

FHEM => Frontends => TabletUI => Thema gestartet von: MichaelT am 06 Februar 2016, 09:14:12

Titel: [gelöst] Longpoll nach 1024 Zeilen restarteb
Beitrag von: MichaelT am 06 Februar 2016, 09:14:12
Hallo setstate,

bei mir stellt es sich nach der letzten Änderung so dar, dass anscheinend nach dem erst Eintreten
currLine = lines.length;
ftui.toast("Lines: "+currLine);
if (currLine>1024){
  ftui.states.longPollRestart=true;
  longPoll(room)
}


alle 10-15 Sekunden
Toasts:
  Disconnected
  retry to connect in 10 sec
  longpoll started

kommt.

Hast Du eine Idee oder ist das normal?
Titel: Antw:Longpoll nach 1024 Zeilen restarteb
Beitrag von: setstate am 06 Februar 2016, 09:24:26
Das klingt nicht gut. Dann wird longPoll mehrfach gestartet und eine Seesion davon wird abgebrochen und startet dann neu. Das wird dann zu einer Endlosschleife.
Wenn das durch Refresh/Cache löschen bei dir nicht besser wird, musst du die u.g. Zeilen erst einmal wieder auskommentieren.
Ich habe extra gestern bei mir getestet und es für okay empfunden. Kann man noch was zur genauen Herleitung sagen? Machst du noch spezielle Sachen, bevor das Problem auftaucht?
Titel: Antw:Longpoll nach 1024 Zeilen restarteb
Beitrag von: MichaelT am 06 Februar 2016, 10:10:20
Hallo,

Refresh löst es dahingehend, dass es wieder einmalig 1024 Zeilen dauert und dann erneut auftritt.

Nach 1024 Zeilen kommt im debuglog:
2016-02-06 10:08:16 / DG_SPS / HZ_Rueck / 37.9
VM2007:43 label value 37.9 substitution
fhem-tablet-ui.js:69 update done for device:DG_SPS parameter:HZ_Rueck
fhem-tablet-ui.js:166 Longpoll started
fhem-tablet-ui.js:166 Error while longpoll: error:
fhem-tablet-ui.js:474 2016-02-06 10:08:17 / DG_SPS / pAct / 688


Anscheinend kommt kein "errorThrown" an dieser Stelle.
Titel: Antw:Longpoll nach 1024 Zeilen restarteb
Beitrag von: setstate am 06 Februar 2016, 10:40:30
Mmmm? Fehler Ursache wäre schon interessant und hilfreich! Vllt. braucht das Abort bei dir länger und man müsste etwas warten bis zum Neustart. Dann verliert man aber einige Nachrichten.
Titel: Antw:Longpoll nach 1024 Zeilen restarteb
Beitrag von: MichaelT am 06 Februar 2016, 11:14:53
kann ich denn feststellen, ob "longPollRequest.abort();" beendet ist?
Oder kann ich nach abort testen ob es zu fehlern kam?
Ich habe mal nach abort longPollRequest.statusText ausgegeben - dort steht auch nur "error" drin  :(
Titel: Antw:Longpoll nach 1024 Zeilen restarteb
Beitrag von: MichaelT am 06 Februar 2016, 11:35:57
Ich glaube das Problem ist, dass an der Stelle ">1024" gleich der lonpoll() aufgerufen wird.
Im longpoll kommt dann der abort und es wird neu gestartet - aber der alte request landet ja ??? wegen dem abort ???  beim dem ajax-Aufruf im fail und startet auch den longpoll nach 10 Sekunden neu.

---- Glaub ich ---  Kenn mich nicht wirklich aus!!!
Titel: Antw:Longpoll nach 1024 Zeilen restarteb
Beitrag von: MichaelT am 06 Februar 2016, 11:50:00
So hab ich das jetzt bei mir am laufen (>50 wegen Testen):


......
                    currLine = lines.length;
                    ftui.toast("Lines: "+currLine);
                    if (currLine>50){
                        ftui.states.longPollRestart=true;
                        //longPoll(room);
                        longPollRequest.abort();

                    }
                }
            }, false);
            return xhr;
            }
    })
    .done ( function( data ) {
        if (!ftui.states.longPollRestart){
            ftui.log(1,"Disconnected from FHEM - poll done - "+data);
            ftui.restartLongPoll();
        }
    })
    .fail (function(jqXHR, textStatus, errorThrown) {
        if(!ftui.states.longPollRestart){
            ftui.log(1,"Error while longpoll: " + textStatus + ": " + errorThrown.name +":"+longPollRequest.statusText);
            ftui.restartLongPoll();
        }
        else {
        longPoll();}
    });


Schau bitte mal drüber ob das so überhaupt richtig ist!

Danke für die Hilfe

Gruß
Michael
Titel: Antw:Longpoll nach 1024 Zeilen restarteb
Beitrag von: setstate am 06 Februar 2016, 13:29:10
mmm, ich kann nicht testen die nächsten Stunden, aber sieht nicht falsch aus. Funktioniert longpoll nach 50 Zeilen dann wieder, ohne Fehlerfdauerschleife?
Titel: Antw:Longpoll nach 1024 Zeilen restarteb
Beitrag von: MichaelT am 06 Februar 2016, 14:00:25
Ja, bei mir läuft es "unauffällig". Immer schön alle ~50 Zeilen ein restart.

Ich kann nicht beurteilen, ob durch dieses handling Events verloren gehen. Da reicht mein Durchblick nicht.
Aber da der Longpoll recht schnell wieder neu gestartet wird, dürfte nicht viel verloren gehen.

Habe Test mit >1024 in WVC und im Chrome (PC) am laufen.

Titel: Antw:Longpoll nach 1024 Zeilen restarteb
Beitrag von: ambiman am 06 Februar 2016, 23:24:38
Hallo,

ich habe heute ein FTUI Update durchgeführt und erhalte nach einiger Zeit (ca. 60min) ebenfalls alle 10 Sekunden die TOAST-Fehlermeldungen:

Disconnected from FHEM
Retry to connect in 10 seconds
Longpoll started


Der Code scheint neu hinzugekommen zu sein, in der alten fhem-tablet-ui.js konnte ich diesen nicht lokalisieren.

Viele Grüße,

ambiman
Titel: Antw:Longpoll nach 1024 Zeilen restarteb
Beitrag von: MichaelT am 07 Februar 2016, 12:07:02
Bei mir ist über Nacht alles durchgelaufen.

@setstate: Ich habe gesehen, du hast eine Änderung gemacht, danke.

Gruß
Michael
Titel: Antw:[gelöst] Longpoll nach 1024 Zeilen restarteb
Beitrag von: ambiman am 12 Februar 2016, 18:46:43
Nach der Änderung sind die Meldung bei mir ebenfalls verschwunden.