У мене є близько 50 папок даних для обробки, і у мене є скрипт ruby, який обробляє файли папки (в якій папці він обробляється на основі файлу налаштувань .yml). І комп'ютер з чотирма процесорами в ньому.
Я хотів би мати можливість запустити 50 процесів, але тільки 4 з них активно працювати в будь-який час, і інші 46 призупинено. Як тільки один з процесів закінчиться, я б хотів, щоб один з призупинених процесів ставав непризупиненим, поки не буде завершено всі 50. \ t Таким чином, я можу це зробити
./super_script.rb > folder_1_log.txt
*edit config.yml*
./super_script.rb > folder_2_log.txt
*edit config.yml*
...
І зосередитися на чомусь іншому до завершення обробки.
Чи можна це зробити? Чи є деякі терміни для того, що я хочу, щоб я міг Google?
(Іншою альтернативою було б зробити супер_скрипт здатним до багатопоточності - можливо, я боюся, що не приймаю такого підходу)
(Операційна система Ubuntu Linux, і більшу частину процесорного часу не займає super_script.rb, а іншими програмами ruby, які вона викликає через систему ())