Параллельное строительство / развертывание - PullRequest
0 голосов
/ 12 января 2012

Я не уверен, какие теги поставить на это:

У меня есть проект Xcode с несколькими схемами, который выводит несколько приложений.У меня есть скрипт archive_all.sh, который настраивает все для сборки и развертывания (в TestFlight) каждого приложения (на данный момент 13), вызывая archive.sh.Я пытался (глупо) сделать: sh archive.sh & в цикле, но мой ноутбук справился с этим с трудом, и я планирую развернуть в будущем гораздо более 13 приложений.желательно в shell-скрипте настроить очередь исполняемого файла для вызова?Мой ноутбук может обрабатывать 3-4 звонка на archive.sh одновременно.

Ответы [ 2 ]

1 голос
/ 15 января 2012

Попробуйте ppss , который поддерживает Linux и Mac OS X. Он будет автоматически определять количество ядер в вашем ЦП и эффективно выполнять задачи на этих ядрах.

0 голосов
/ 30 апреля 2015

GNU Parallel создан для такого рода работ.

parallel archive.sh {} ::: app1 app2 ... app15

Это будет archive.sh для каждого приложения при запуске по одному на ядро ​​ЦП.

GNU Parallel - это общий параллелизатор, который позволяет легко запускать задания параллельно на одной и той же машине или на нескольких машинах, к которым у вас есть доступ по ssh.

Если у вас есть 32 различных задания, которые вы хотите запустить на 4 процессорах, прямой способ распараллеливания - запустить 8 заданий на каждом процессоре:

Simple scheduling

GNU Parallel вместо этого порождает новый процесс после его завершения - поддерживая активные процессоры и, таким образом, экономя время:

GNU Parallel scheduling

установка

Если GNU Parallel не упакован для вашего дистрибутива, вы можете выполнить личную установку, которая не требует root-доступа. Это можно сделать за 10 секунд, выполнив следующее:

(wget -O - pi.dk/3 || curl pi.dk/3/ || fetch -o - http://pi.dk/3) | bash

Другие варианты установки см. http://git.savannah.gnu.org/cgit/parallel.git/tree/README

Узнать больше

См. Больше примеров: http://www.gnu.org/software/parallel/man.html

Смотрите вступительные видеоролики: https://www.youtube.com/playlist?list=PL284C9FF2488BC6D1

Пройдите учебник: http://www.gnu.org/software/parallel/parallel_tutorial.html

Подпишитесь на рассылку, чтобы получить поддержку: https://lists.gnu.org/mailman/listinfo/parallel

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...