pobieranie danych z zewnętrznego serwisu

0

Hej

Mam apke w której przy pewnej akcji pobieram dane z zewnętrznego serwisu. No i problem jest w tym że te dane nie zmieniają się zbyt czesto a każde pobieranie jest odczuwalne w aplikacji.
Te pobrane informacje wykorzystuje później w aplikacji.
Jak rozwiązać to żeby przy każdym kliknieciu aplikacja nie robiła zapytania do tego serwisu.

Moje rozwiązanie to stworzyć tabelę w bazie danych i np co miesiąc sprawdzać czy cos się zmieniło - jeżeli tak to nadpisuje te informacje z serwisu.

Tylko jest jeden problem. W przypadku gdy serwis nagle zmieni te informacje a ja nie wykryje tych zmian (scheduler będzie miał ustawionego taska na date po zmianie danych w tym serwisie) - będę operował na złych danych które moga spowodować błedy w działniu aplikacji...

Nie wiem czy jasno się wyraziłem...ale może ktoś spotkał sie z takim problemem

0

Luźne przemyślenie - może osobny wątek do poprawy wydajności ? W tym wątku wprowadzić funkcjonalność zapytania do tego serwisu przy każdym włączeniu aplikacji/czy tam bo jakimś czasie/wykonaniu jakiejś akcji ? Jeżeli dane się zmieniły to pobrać te dane.

0

A może:

  1. Serwer przechowuje datę kiedy zostały zaktualizowane dane
  2. To samo przechowuje apka
  3. Po podłączeniu następuje sprawdzenie czy daty w apce i na serwerze są takie same
  4. Jeśli się różnią apka się aktualizuje
    Skoro dzieje się to może raz w miesiącu, to może nie będzie przeszkadzała użyszkodnikowi informacja, że właśnie się apka aktualizuje (o ile to długotrwały proces...).
0

Niech to co zmienia dane, pinguje Twoją aplikację, i tym pingiem niech invaliduje Twój cache. Ot cała filozofia.

0

Dzięki za opinie....zdecydowałem się na użycie cach'ea do tego celu...Dodatkowo w oddzielnym wątku co kilka dni bedzie sie odpalać task sprawdzający czy coś sie zmienilo.

@Christo nie Bardzo rozumiem jak by to miało zadziałac...pukn 4 mówi że po podłączeniu będzie sprawdzać daty...ale włansie ja chce uniknąć tego podłączenia.

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0