Wielowątkowy rake task

Zrobiłem w raisach interface do obsługi pewnych urządzeń sieciowych. W tle latają rake tasky, które generalnie robią coś w stylu:

Host.each do |h|
  pobierz/ustaw dane dla hosta h po snmp
  odczytaj z bazy/zapisz do bazy
end

Liczba hostów z których będę docelowo odczytywał dane będzie około 20, więc w zasadzie nie ma sensu odczytywać tych danych sekwencyjnie. Można by to rozbić na 20 wątków, które sobie będą działać równolegle.

Jak można to najlepiej rozwiązać?

Masz dwa wyjścia, albo po prostu użyć klasy Thread albo skorzystać z tego że Rake ma wbudowaną obsługę wielowątkowego wykonywania jak to zrobić pokazuje tutorial podany w dokumentacji Rake’a (zawsze mimo wszystko warto zajrzeć do dokumentacji narzędzia które używasz :stuck_out_tongue: ) http://devblog.avdi.org/2014/04/29/rake-part-7-multitask/

To jest dość fajna biblioteka:

Oczywiście, zgadzam się :slight_smile:

O to-to. Tutaj w zasadzie nie muszę nic przerabiać.