Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Message bei Alarm #6

Closed
stg93 opened this issue Jul 4, 2017 · 6 comments
Closed

Message bei Alarm #6

stg93 opened this issue Jul 4, 2017 · 6 comments

Comments

@stg93
Copy link

stg93 commented Jul 4, 2017

Hallo,

ich setze gerade den Einsatzmonitor um. Dazu lasse ich einfach die Webapplikation auf einem Raspberry Pi laufen, welcher per HDMI mit einem Fernseher verbunden ist. Den Fernseher möchte ich sobald ein Alarm eintrifft per HDMI CEC einschalten und nach einer gewissen Zeit wieder ausschalten. Gibt es eine saubere Lösung eine Message an den Raspberry zu schicken, sobald ein Alarm eintrifft? (z.B. per Websocket)

Zwei unsaubere Lösungen welche mir eingefallen sind wären:

  • alle z.B. 60 Sekunden einen Request zu senden und schauen ob ein Alarm eingetreten ist (busy waitung -> nicht so gut)

  • einen Listener auf Änderungen des HTML setzen (instabil bei Änderungen der Implementierung!; auf welche Änderung genau hören?)

LG

@pmig
Copy link
Contributor

pmig commented Jul 5, 2017

Hallo,

Ich empfehle dir ganz klar dein Projekt mit busy waiting / polling zu realiseren. Du kannst hierfür am Besten die Dashboard API mit einem eigenen User verwenden und unsere API z.B. alle 5 Sekunden abfragen.

Meiner Meinung nach ist busy waiting / polling keine unsaubere Lösung, da diese wesentlich skalierbarer und sicherer ist. (Ein Websocket kann abbrechen bei Internetausfall und ist schwer offen zu halten bei vielen gleichzeitigen Verbindungen.)

Andere Projekte haben sich auch eine ähnliche Frage gestellt, falls dich mehr zu diesem Thema interessiert: Gitlab websocket vs polling discussion

@stg93 Wir interessiern uns auf jedenfall für dein Projekt. Wirst du hierzu den Code veröffentlichen? Die Implementierung am Raspberry ist sicher auch für andere Nutzer spannend. Wir können dein Projekt dann auch gerne hier verlinken!

Beste Grüße, Philip

@stg93
Copy link
Author

stg93 commented Jul 5, 2017

Ok danke für deine Hilfe!

Ich kann den Code gerne auf GitHub stellen. Sobald ich fertig bin schicke ich dir den Link.

@pmig
Copy link
Contributor

pmig commented Jul 6, 2017

Ja perfekt. Viel Erfolg bei der Entwicklung.

@pmig pmig closed this as completed Jul 6, 2017
@stg93
Copy link
Author

stg93 commented Jul 24, 2017

Das fertige Projekt ist in diesem Repository.

@ulbrich
Copy link

ulbrich commented Sep 16, 2017

Das Pollen ist für mich ebenfalls fein, aber könntet Ihr vielleicht einen Last-Modified Header mitschicken oder ein ETag? Am besten so, dass für das Pollen lediglich ein HEAD notwendig ist?

@pmig
Copy link
Contributor

pmig commented Sep 18, 2017

Ein ETag und eine eventuelle 304 Response (auch für HEAD) ist eine super Verbesserung. Ich habe nun ein seperates Issue dazu erstellt. (#8) Sobald die Änderung umgesetzt ist (Schätzungsweise Anfang Oktober), kommentiere ich das andere Issue.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants