2014-02-18 2 views
4

Я запускаю набор тестов Selenium на экземплярах экземпляров ec2. Эти экземпляры следует перезапускать один раз в несколько дней в качестве обслуживания для освобождения памяти и т. Д.Заблокировать узел с несколькими исполнителями от принятия большего количества заданий до завершения заданного задания.

Проблема у меня есть, когда я отправляю команду перезапуска на подчиненный от Дженкинса, я не могу быть уверен, что у раба нет в то время выполнялись задания, так как ведомые выполняли несколько исполнителей.

Есть ли способ сообщить узлу, что, как только срабатывает задание X, отбросить количество исполнителей до 0? Если нет, есть ли способ изящно помещать подчиненный в автономный режим (то есть: «выполнить все задания в очереди, но не принимать никаких новых заданий»)?

+0

У вас есть более чем один вопрос, который кажется, 1. Как вы планируете перезапуск без проблем, 2. как вы завершите работу ведомого. Возможность для # 1 состоит в том, чтобы создать новое задание, которое выполняется периодически каждые пару дней, которое занимает N исполнителей, где N - максимальное количество исполнителей и выполняется на определенном вами узле. Затем вы можете настроить матрицу построения, которая охватывает все узлы. Что касается # 2, как фактически перезапустить узел, в зависимости от ОС вы должны просто запустить команду перезагрузки. – hofan41

+0

Одним из способов может быть запуск демона на подчиненном устройстве, который сообщает серверу, работает ли он еще при выполнении задания – doles

ответ

-1

(jenkins_url)/safeRestart - Позволяет выполнить все рабочие задания. Новые задания останутся в очереди для запуска после завершения перезапуска.

Смежные вопросы