уделяете приоритетное внимание серверам заданий Gearman?

У меня есть 2 машины, на которых работают одни и те же рабочие. Одна машина должна быть «основной», так как она очень мощная, а другая машина должна быть резервной на случай, если основная машина выйдет из строя или выйдет из строя. Когда основная машина запущена и работает, все задания по умолчанию должны работать на основной машине до тех пор, пока есть доступные рабочие.

Из своих тестов я заметил, что gearmanD случайным образом выбирает машину для отправки работы. Есть ли вообще способ расставить приоритеты для машин, на которые будут отправляться задания?

Пример:

Основная машина, на которой запущено 8 экземпляров одного и того же рабочего, Резервная машина, на которой запущен 1 экземпляр

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

Любой способ добиться этого?

Спасибо всем!


person Gotys    schedule 11.03.2010    source источник


Ответы (1)


Я не думаю, что это возможно с текущим API. Тем не менее, вы можете запустить 2 команды gearmand, по одной на каждом из ваших рабочих серверов, и установить их оба на клиенте, в первую очередь на мощной машине. Таким образом, по крайней мере, текущие версии клиентских API, о которых я знаю, сначала будут использовать первую команду gearmand и ее рабочих, а если она недоступна, она переключится на вторую, у которой есть менее мощные рабочие машины. .

person mjy    schedule 22.04.2010