Мы используем работников Gearman для выполнения параллельных задач. Все работает просто отлично, и у меня есть небольшой глупый скрипт для раскрутки, когда я хочу их Будучи программистом (и, следовательно, ленивым), я хотел посмотреть, смогу ли я раскрутить их с помощью сценария выскочки.
Я выяснил, как использовать раздел экземпляров, чтобы я мог начать их с номера экземпляра:
description "Async insert workers"
author "Mike Grunder"
env SCRIPT_PATH="/path/to/my/script"
instance $N
script
php $SCRIPT_PATH/worker.php
end script
И это прекрасно работает, чтобы запустить их так:
sudo start async-worker N=1
sudo start async-worker N=2
То, как я хочу использовать этих рабочих, - это раскрутить некоторое их количество (возможно, по одному на ядро и т. Д.), И я хотел бы сделать это при запуске. Чтобы было ясно, мне не нужен скрипт upstart для определения количества ядер. Я счастлив просто сказать «сделать 8 экземпляров», но именно поэтому я хочу многократный запуск. Есть ли способ для меня использовать предложение «start on» в сценарии upstart, чтобы сделать это автоматически?
Например, запустить экземпляр 1, 2, 3, 4? Затем они правильно завершат работу?
Полагаю, я мог бы подключить это к сценарию init.d, но мне было интересно, может ли выскочка справиться с чем-то подобным, или кто-нибудь уже понял эту проблему.
Ура, ребята!