pobieranie danych z bazy co 1 minutę

pobieranie danych z bazy co 1 minutę
B3
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 6
0

Witam piszę program w WinFormsach komunikujący się bazą danych MSSQL. Chcę zrobić automatyczne pobieranie danych co minutę, jednak nie mam pojęcia jak podejść do tego problemu. Będę wdzięczny za jakąkolwiek sugestię. Z bazą danych łączę się za pomocą Entity Framework

Kubuś Puchatek
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 235
0

Możesz wykorzystać Timer, aby pobierał Ci dane co minutę.

B3
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 6
0

dzięki faktycznie powinno działać myślałem że to będzie wstrzymywać pracę programu jeszcze raz dzięki

Aventus
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: UK
  • Postów: 2235
1

Ciekawostka- kiedyś implementowałem funkcjonalność w której również trzeba było wykonać pewien proces co minutę. Użyłem do tego właśnie timera. Okazuje się że timer nie jest precyzyjny, gdyż naturalną siłą rzeczy musi wykonać pewne dodatkowe obliczenia w tle. Skutkiem tego timer co jakiś czas (jeśli dobrze pamiętam co 60 godzin, jako że interwał wynosił 60 sekund) przeskakiwał jeden cykl minutowy.

W przypadku funkcjonalności nad którą pracowałem (i zapewne jest tak w większości przypadków) można było przeskoczyć ten cykl jako że w kolejnej minucie zaległe zadania z poprzedniej zostały wykonane. Jest to jednak coś co warto mieć na uwadze.

abrakadaber
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 6610
1

ja tylko zapytam - czy jesteś na 101% pewny, że chcesz coś takiego zrobić?

  • Rejestracja: dni
  • Ostatnio: dni
0

Spróbuj z Query Notifications. Różne RDBMS implementują podobne rozwiązania.
https://stackoverflow.com/questions/17207550/how-to-push-the-data-from-database-to-application?rq=1

S2
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 6
0

Możesz też użyć jakiegoś crona np. Hangfire do pobierania danych w określonym interwale czasowym.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.