Du bist nicht angemeldet. [Anmelden]
Optionen
Thema bewerten
User nicht im Channel, bei sendEvent() im onUserJoined - #2886837 - 28.01.2018, 16:16:50
Recaro
​Whiplasher

Registriert: 23.09.2013
Beiträge: 56
Ort: Hamburg
Moin,

Ich bekomme bei Verwendung sendEvent() innerhalb des onUserJoined-Events gelegentlich(!) die Fehlermeldung:

Zitat:
App-Logs (privat): ASDF: WARN: java.lang.Exception: sendEvent() nicht gesendet. User ist nicht im Channel: Recaro



Jetzt stellt sich mir die Frage wie das sein kann. Ich betrete den Channel und soll dann angeblich nicht im Channel sein? Ich vermute einfach dass der Server mich bis dahin noch gar nicht in die Userlist des Channels gepackt hat oder es eben parallel läuft und manchmal eben langsamer ist als mein sendEvent(). Jetzt könnte ich natürlich prüfen ob der User, also ich, im Channel ist und wenn nicht, eben gar nichts tun. Aber das wäre verkehrt, weil es eben nicht stimmt. Oder soll ich im Event paar Sekunden warten bis ich ein Event sende? Wäre aber ja auch pfusch.

Oder habe ich irgendwo doch enen Fehler?

Das ganze sieht jedenfalls so aus:

Code:
App.onUserJoined = function(user)
{
    if (user.canSendAppContent(appContent))
    {
        var appContentSession = user.sendAppContent(appContent);
        var data = {
            pot: pot,
            timeLeft: timeStarted+runtime - Date.now(),
            knuddelAmount: getTotalKnuddelAmount(user),
            throws: appPersistence.getString('Throws')
        };
        appContentSession.sendEvent('Joined', data); 
    }
};



Danke schonmal im Vorfeld.

[zum Seitenanfang]  
Re: User nicht im Channel, bei sendEvent() im onUserJoined [Re: Recaro] - #2886873 - 28.01.2018, 20:47:54
Vampiric Desire
​ChannelMaster

Registriert: 15.09.2013
Beiträge: 1.689
Ich sende auch ganz oft ein UI+Event bei onUserJoined, kann mir also nicht vorstellen, dass es so läuft. Das klingt eher nach einem AppServer mit Schluckauf. Passiert dir das auf dem DEV oder vllt auf einem bestimmten Appserver?
_________________________
/apps install 30559674.ChannelMaster

[zum Seitenanfang]  
Re: User nicht im Channel, bei sendEvent() im onUserJoined [Re: Vampiric Desire] - #2886889 - 29.01.2018, 00:30:27
Recaro
​Whiplasher

Registriert: 23.09.2013
Beiträge: 56
Ort: Hamburg
Jetzt wo du es sagst... Habe nun ca. 50 mal meinen Channel auf dem DevServer betreten und es gab keinerlei Fehler.
Auf dem LiveServer hingegen gabs den Fehler bereits nach dem 3. Betreten...

Meine App läuft auf dem LiveServer apps1@78.46.82.243

[zum Seitenanfang]  
Re: User nicht im Channel, bei sendEvent() im onUserJoined [Re: Recaro] - #2886894 - 29.01.2018, 05:34:20
Bizarrus
​Bizzi is activated.

Registriert: 29.07.2006
Beiträge: 2.551
Ort: Dortmund
Um notfalls einen anderen AppServer zugewiesen zu bekommen, einfach die App mal komplett neu installieren. Ansonsten einfach warten, bis die Server wieder durch reboot laufen.
_________________________
Bot.public('I love °>features/james-exchange/ft_james-exchange_surprised.gif<>James|/w "<°');

[zum Seitenanfang]  
Re: User nicht im Channel, bei sendEvent() im onUserJoined [Re: Bizarrus] - #2886901 - 29.01.2018, 09:15:45
DdvOiD
​Still lovin

Registriert: 24.02.2005
Beiträge: 640
Ort: Deutschland, NRW, Kempen
Es reicht auch aus, alle im channel laufenden apps zu beenden - und dann neuzustarten. Dadurch wird dir (ggf.) ein neuer appserver zugewiesen - im Zweifel diesen Vorgang mehrfach wiederholen.
_________________________
Ich weiß ich bin ein A-loch... :-D , doch Scheiß egal ob ihr mich liebt... ICH hab mich gern :-]

[zum Seitenanfang]  
Re: User nicht im Channel, bei sendEvent() im onUserJoined [Re: DdvOiD] - #2887089 - 30.01.2018, 11:46:50
Recaro
​Whiplasher

Registriert: 23.09.2013
Beiträge: 56
Ort: Hamburg
Das Neustarten bringt leider überhaupt nichts. Das habe ich schon mehrmals probiert. Zwangsläufig, da ich meist auf dem LiveServer die App schreibe und teste. (Können nur Admins in meinen Channel, sollte also egal sein).

Ich bin mir mittlerweile auch ziemlich sicher, dass es die Server sind. Denn mir fiel ein, dass z.B. der Greedy in /Sidoh und /Paradice auch öfter bei mir nicht erschienen sind und ich immer wieder neu betreten musste.
Und gestern hat mir Sidoh auch bestätigt, dass es Probleme seitens Knuddels damit gibt. Es ist also das gleiche Phänomen wie bei mir.

Meine Meinung ist: Ob der Server nun stolpert oder nicht, ein Event darf erst ausgelöst werden, wenn ein Fall auch 100% geschehen ist. In dem Fall muss ein User im Channel sein, wenn ein UserJoin ausgelöst wird. Unabhängig davon wie lange das nun dauert. Dann muss das Event eben später gefeuert werden.

[zum Seitenanfang]