Подтвердить что ты не робот

UWSGI: --master с --emperor порождает двух императоров

Я вижу, что если я начинаю uwsgi следующим образом:

sudo /usr/local/bin/uwsgi --emperor /etc/uwsgi/vassals --uid www --gid www

он создает одну копию императора. Но если я начну с --master дополнительно (как рекомендовано здесь), он создает две копии императора. Имеет ли смысл использовать --master с --emperor? Я бы сказал, нет, но если я запустил его без этой опции, я получу это предупреждение:

*** WARNING: you are running uWSGI without its master process manager ***

4b9b3361

Ответ 1

Вот что официальная документация говорит:

Императору вообще не следует запускать --master, если только мастер особенно необходимы такие функции, как расширенное ведение журнала.

Если вам интересно, что делает опция master, здесь - это ответ:

мастер

uWSGIs встроенный предварительный просмотр + многопользовательское управление потоками режим, активированный щелчком главного выключателя. Для всех практических обслуживание развертывания - это не очень хорошая идея не использовать мастер Режим.

Итак, суммируем:

  • Используйте --master для обычного экземпляра uWSGI,
  • Не используйте --master для императора uWSGI.

Ответ 2

Я не согласен - документация говорит, что это не очень хорошая идея НЕ использовать ее, в любом случае; Думаю, двойной негатив можно было бы написать более четко.

Поэтому было бы неплохо использовать его, поэтому предупреждение.

Ответ 3

Я хотел бы добавить определенную информацию для использования режима харакири для вассалов, работающих под императором. Если мастер не находится в конфиге для вассалов, харакири не будет иметь никакого эффекта независимо от того, указан ли мастер/харакири в конфигурации императора. Учитывая пример конфигурации императора:

[uwsgi]
emperor = ...
daemonize = ...
emperor-pidfile = ...
vassal-set = enable-metrics=1
emperor-stats = 127.0.0.1:6000

Вассалам понадобится следующее для харакири для работы:

[uwsgi]
strict
processes = 4
stats = 127.0.0.1:5000
memory-report
daemonize = ...
pidfile = ...
close-on-exec
py-tracebacker = /tmp/tbsocket
master
harakiri = 5
harakiri-verbose

Обратите внимание, что мастер и харакири присутствуют в вассале и устанавливают их в конфигурации императора, не будут влиять на вассалов для uwsgi версии 2.0.12