Aktywne Wpisy

to jest p--------y żart co się dzieje w ostatnich kilku miesiącach
#programista15k #programowanie #kolchoz #korposwiat #pracbaza #praca #pracait #polska
#programista15k #programowanie #kolchoz #korposwiat #pracbaza #praca #pracait #polska
źródło: 4251
Pobierz
rovi +89
Niemal 10 lat temu napisałem tu, że rzucam fajki i biore pieska ze schroniska
https://wykop.pl/wpis/18963309/dzis-rzucam-palenie-w-piatek-przygarniam-psiaka-ze
opisałem go jako sfatygowany życiem 7 latek - oj ja głupi - szczeniak w ciele siedmoletniego psa.
Ludzie mi mówili "po co takiego starego pieska, ledwo weźmiesz i odejdzie" - za miesiąc minęłoby 10 lat razem, dokładnie 5 sierpnia 2016 go wziąłem - wczoraj się pożegnaliśmy.... Człowiek nie jest gotowy na taki moment, od wczoraj rycze co chwilę, gdy
https://wykop.pl/wpis/18963309/dzis-rzucam-palenie-w-piatek-przygarniam-psiaka-ze
opisałem go jako sfatygowany życiem 7 latek - oj ja głupi - szczeniak w ciele siedmoletniego psa.
Ludzie mi mówili "po co takiego starego pieska, ledwo weźmiesz i odejdzie" - za miesiąc minęłoby 10 lat razem, dokładnie 5 sierpnia 2016 go wziąłem - wczoraj się pożegnaliśmy.... Człowiek nie jest gotowy na taki moment, od wczoraj rycze co chwilę, gdy





Potrzebuję wykonać n (dynamiczny parametr, ale powiedzmy < 30) niezależnych od siebie 'ciężkich' zadań (baza, http) w jednym requeście i odesłać zbiorczy wynik (nie ma możliwości zrobienia tego za jednym razem). W jaki sposób zrobić to najefektywniej?
Z tego, co po znalazłem w Internecie wymyśliłem coś takiego:
1) Controller odbiera żądanie i oddelegowuje zadanie do serwisu
2) Metoda w serwisie ma adnotację @ Async, wykonuje się to w osobnym wątku
3) W środku metody serwisu tworzę n obiektów CompletableFuture poprzez CompletableFuture.allOf() i wewnątrz nich wykonuję obilczenia
4) Z List robię CompletableFuture w ten sposób https://stackoverflow.com/a/30026710
5) Serwis zwraca tego futura do kontrolera
6) Metoda w Controllerze zwraca Callable z wynikiem tego, co zwróci serwis (wtedy Spring niby wie, że tam są jakieś rzeczy wykonywane ciężkie)
Powyższe działa i się sprawuje nawet dobrze, ale nie wiem czy nie robię czegoś nadmiarowo / nieefektywnie i nie mam pewności czy to nie jebnie w którymś momencie ( ͡° ͜ʖ ͡°)
Jakieś pomysły, opinie?