LINUX.ORG.RU

запуск обработки из файла по 5

 


1

2

Есть файл где есть 700 строк, каждую их них нужно обработать ruby бинарником пр. ./app_bin --arg <строка их файла>
Не могу сообразить каким образом я могу запускать по 5 таких задач, ждать завершения обработки и запускать следующие 5.
Есть более менее приятные решения?

решил попробовать обычным Pool, гляну что выйдет

noname_user ★★★
() автор топика

Посмотри на GNU Parallel.

ls-h ★★★★★
()

Зайдите в его твиттер: рашка, рабы, вата. Вы действительно хотите помогать этому кретину?

anonymous
()

Особенно понравилось про совместный парад красной армии и гитлеровцев. Молодец, готовится отдать Львов Польше, похвально.

anonymous
()
Ответ на: комментарий от anonymous

Вот да, чувак свидомый, кацапы у него заговоры прямо под кроватью совершают, зато приходит на лор. Нормас.

anonymous
()
Ответ на: комментарий от anonymous

Шёл бы ты со своей политикой на другие ресурсы.

Deleted
()
Ответ на: комментарий от anonymous

тебе кто мешает меня фодшиздом назвать) бомбан )

noname_user ★★★
() автор топика
Ответ на: комментарий от Reineke

да, извращение там потребовалось неистовое, кстати обошелся обычным Pool, вроде бы как даже работает как нужно с запуском os.system

noname_user ★★★
() автор топика
Ответ на: комментарий от noname_user

Почему извращение? Вообще multiprocessing в питоне действительно ублюдский, но это, пожалуй, единственное место где его можно нормально использовать

pool = Pool()

for item in input_items:
    pool.apply_async(func, args=(item))

по вкусу можно сохранить промисы и получить из них результаты.

А вообще нахрена тут питон, это лучше всего делается обычным xargs.

cat lines | xargs -P 5 ./app_bin --arg

Если пробелов в строках нет, ессно.

slovazap ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.