Na vps jest container ze stroną + #postgresql Baza danych nie exposuje portu, jest tylko w kontenerze jeśli dobrze rozumiem. Bez ingerencji w ten kontener mam stworzyć skrypt ktory będzie codziennie sprawdzał czy pojawiły się nowe dane i wysyłał je do API hostowanego na innym coś.
Jak to najefektywniej zrobić? Nie oczekuje gotowego kodu tylko pokierowania co zrobić.
Skrypt do pobierania danych pewnie napiszę w pythonie, API na drugim VPS będzie pisane w Django rest framework.
@Spofity: utwórz kolumnę typu UpdatedAt - aktualizuj ja w momencie insertu, updateów. Następnie jak cyklicznie będziesz się dopytywać to zapisuj sobie datę ostatniego zeskanowananego rekordu (nie date uruchomienia skanu)
@Spofity: jesli rekordy nie zawieraja createdAt a nie mozesz ingerowac w strukture i maja id generowane sekwencyjnie, to za kazdym sprawdzeniem przechowuj lokalnie (np w redisie) stan ostatniego id ze schemy tabeli, nowe rekordy pobierasz WHERE id > :lastId
mozesz uzyc tez LISTEN/NOTIFY i TRIGGERow na INSERT OR UPDATE jesli nie mozesz polegac na kluczach i timestampach ale to rozwiazanie inwazyjne w stosunku do bazki
Baza danych nie exposuje portu, jest tylko w kontenerze jeśli dobrze rozumiem.
Bez ingerencji w ten kontener mam stworzyć skrypt ktory będzie codziennie sprawdzał czy pojawiły się nowe dane i wysyłał je do API hostowanego na innym coś.
Jak to najefektywniej zrobić? Nie oczekuje gotowego kodu tylko pokierowania co zrobić.
Skrypt do pobierania danych pewnie napiszę w pythonie, API na drugim VPS będzie pisane w Django rest framework.
#programowanie #programista15k #python #django #nodejs #docker
1. select gwiazdka from tabelka w kontenerze psql, jeśli <=O then exit, else odpal parser do zapytania + wyślij sformatowane dane.
2. Dump całości i porównanie z nowym jeśli > to przesyłasz diff
To będzie jakieś 500zł.
Komentarz usunięty przez autora
mozesz uzyc tez LISTEN/NOTIFY i TRIGGERow na INSERT OR UPDATE jesli nie mozesz polegac na kluczach i timestampach ale to rozwiazanie inwazyjne w stosunku do bazki
trzecia opcja sa transakcje z systemowych