Aktywacja naszego systemu za pomocą dwóch prostych funkcji

Po załadowaniu niektórych danych do systemu będziesz mógł uruchomić pliki update-markets.R i update-assets.R, których zawartość jest pokazana poniżej. Pierwszy ładuje wymagane definicje, tak jak poprzednio podczas tworzenia danych użytkownika, i udostępnia funkcję update_markets_loop(), która otrzymuje parametr określający liczbę minut między każdym pobraniem aktualnych danych rynkowych. Co 60 minut to dobra opcja i używamy jej poniżej. Funkcja po prostu tworzy instancję Storage przy użyciu specyfikacji  SETTINGS przedstawionej wcześniej, pobiera istniejące wymiany (które są tylko w tym momencie CoinMarketCap) i wywołuje metodę publiczną update_markets() na każdej z nich, z odpowiednimi parametrami:

library(R6)

library(methods)

source(„../storage/storage.R”, chdir = TRUE)

source(„../utilities/time-stamp.R”)

source(„../settings.R”)

update_markets_loop <- function(minutes_interval) {

storage = Storage$new(SETTINGS)

exchanges <- storage$read_exhanges()

repeat {

timestamp = now.TimeStamp()

for (exchange in exchnages) {

exchange$update_markets(timestamp, storage)

}

Sys.sleep(minutes_interval * 60)

}

}

update_markets_loop(60)

Po uruchomieniu tego pliku zobaczysz dane pokazujące postęp w konsoli, jak pokazano poniżej

Funkcja update_assets_loop() działa podobnie, ale pobiera użytkowników w każdej iteracji, która dynamicznie dostosowuje się, aby uwzględnić wszelkie dodatki lub usunięcia użytkowników, które mogły mieć miejsce, gdy funkcja oczekiwała na następny cykl, i wywołuje metodę publiczną update_assets() dla każdej instancji User:

library(R6)

library(methods)

source(„../storage/storage.R”, chdir = TRUE)

source(„../utlities/time-stamp.R”)

source(„../settings.R”)

update_ssets_loop <- function(minutes_interval) {

storage = Storage$new(SETTINGS)

repeat {

users <- storage$read_users()

timestamp = now.TimeStamp()

lapply(users, update_assets, timestamp)

Sys.sleep(minutes_interval * 60)

}

}

update_assets_loop(60)

Oto przykład wyniku dla pliku:

Po uruchomieniu tych dwóch plików cały opracowany przez nas system obiektowy zacznie działać, aby okresowo pobierać bieżące dane i zapisywać je w odpowiednich plikach CSV. Możesz zajrzeć bezpośrednio do tych plików, aby zobaczyć, jakie dane są zapisywane. Pamiętaj, że jeśli portfel nie zawiera dodatniej liczby aktywów, nie zostanie wyświetlony. Kiedy wdrażasz swój pierwszy system obiektowy, wydaje się to niemal magiczne. Jeśli jest to pierwszy system obiektowy, który zbudowałeś, mam nadzieję, że masz takie odczucie, i mam również nadzieję, że ten przykład był dla Ciebie interesujący i przydatny

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *