Запуск более одного (фонового рабочего) процесса в производственной среде на CloudFoundry - PullRequest
0 голосов
/ 09 октября 2018

У меня есть приложение RoR и я развернул его в CloudFoundry.Вместе с самим приложением я хочу запустить планировщик Resque и пару рабочих.

Я пробовал различные сценарии:

  • Procfile: несколько процессов, поддерживаемых в v3, который является экспериментальным и еще не поддерживает файлы манифеста;
  • Мастер: на самом деле работает, но не рекомендуется для производственного использования из-за отсутствия надлежащего управления процессами
  • Upstart: невозможно, так как для этого потребуются привилегии root
  • Непосредственно через команду(-c): можно выполнять несколько процессов демона, используя & между ними.Однако в этом случае завершенные процессы не перезапускаются (проверка работоспособности недоступна).

Так что я заканчиваю, чтобы указать отдельное приложение для каждого процесса в моем файле манифеста.Я просто не могу поверить, что это лучшая практика здесь ?!Не только с точки зрения ресурсов, но и с точки зрения рабочего процесса (подумайте о продолжительности развертывания для нескольких приложений).

Итог, мой вопрос здесь: каков наилучший подход для запуска более одного (рабочего) процесса в производственной среде на CloudFoundry?Я думаю о опции -c плюс Monit или God, но боюсь, что для этого снова потребуются привилегии root.

1 Ответ

0 голосов
/ 19 октября 2018

Вы хотите использовать эту опцию:

Procfile: поддерживается несколько процессов из версии 3, которая является экспериментальной и еще не поддерживает файлы манифеста;

Я знаю, что это говорит о «эксперименте», но это лишь говорит о том, что есть техническая возможность, что API в Cloud Controller может измениться. не означает, что в использовании этой опции есть что-то нестабильное.Ваши процессы работают точно так же, как и при развертывании нескольких приложений (ваш 4-й вариант), это просто другой способ организации ресурсов в Cloud Controller.

Я считаю, что поддержка файлов манифеста придет, надеюсь, скоро,Пока я пишу это, прилагаются большие усилия, чтобы закончить API v3 и отказаться от API v2.Вы можете быть немного впереди, но не намного.Вы также будете хорошо подготовлены к будущему, если пойдете этим путем.

Надеюсь, это поможет!

...