Wpis z mikrobloga

Na wstępie dodam że mam znikome pojęcie o aplikacjach webowych.

Wstęp: mam aplikację uruchamianą na komputerze, której zadaniem jest czytanie danych z czytnika. Apka przesyła dane JSONem do API, a ono zapisuje otrzymane dane do bazy danych. Chciałbym by za każdym razem, gdy czytnik przekaże dane, zapisane informacje zostały wyświetlone dynamicznie na stronie www (typu: ostatnio odczytane dane: XXXX, oraz np. 5 ostatnich odczytów). Backend jest we Flasku, front na Angularze (z jakiegoś najprostszego tutoriala bo umiem tylko w pythona)

Problem: Jak w najprostszy sposób powiadomić front o aktualizacji bazy danych o najnowszy wynik?
Generalnie 2 moje pomysły to:
* Podczas obsługi POSTa z apki wysyłać POSTa z tymi samymi danymi do klienta angulara
* Stworzyć websocket pomiędzy frontem i backendem i nim przekazywać dane (chyba dla mnie najbardziej logiczne?)
* Inne dostępne rozwiązanie z angulara o którym nie mam pojęcia?

#programowanie
  • 6
@F0rT3hW1n: ale tak ogólnie to jak wiesz że te dane się aktualizują wtedy gdy skończysz je wysyłać i nie musisz tego wyświetlać w wielu miejscach na raz to odpowiedź z bazy powinna przychodzić jako body POSTa, jak nie to potrzebujesz albo czegoś w rodzaju subskrypcji (pewnie websockets) albo regularnie pollować, pollowanie jest raczej trywialne bo wymaga po prostu setInterval na metodzie która pobiera dane
@aleqsio: w aplikacji czytnika muszę kliknąć "czytaj dane", więc one też nie napływają nie wiadomo jak szybko. Dane są wczytywane w pełni i wtedy wysyłane do API. W bazie jest dodany timestamp dla każdego nadesłanego rekordu więc tutaj nie będzie problem z tym czy front ma najświeższe dane. Strona z danymi jest jedna nawet bez żadnych zakładek itd