Запустите Supervisor на CloudFoundry - PullRequest
0 голосов
/ 30 апреля 2018

Есть ли способ установить прогу Supervisor в php-buildpack CloudFoundry?

У меня есть приложение Laravel, и я не хочу, чтобы некоторые отслеживаемые фоновые процессы работали на заданиях в очереди .

Я могу установить supervisor с помощью apt-buildpack, но когда я не хочу запускать supervisor с supervisord -c supervisord.conf, я получаю следующую ошибку:

Traceback (most recent call last):
File "/home/vcap/deps/0/bin/supervisorctl", line 5, in <module>
from pkg_resources import load_entry_point
ImportError: No module named pkg_resources

Это мой supervisord.conf:

[program:laravel-worker]
process_name=%(program_name)s_%(process_num)02d
command=php /home/vcap/app/artisan queue:work --tries=3
autostart=true
autorestart=true
user=vcap
numprocs=2
redirect_stderr=true
stdout_logfile=/home/vcap/app/storage/logs/worker.log

1 Ответ

0 голосов
/ 02 мая 2018

Не используйте супервизор, это не нужно с Cloud Foundry. Платформа делает все, что супервизор сделает для вас здесь.

Чтобы использовать платформу, у вас есть два варианта:

  1. Нажмите ваше обычное веб-приложение. Нажмите второе приложение для вашего рабочего процесса. Вы можете сделать это, запустив cf push дважды или , используя файл manifest.yml приложения, который описывает оба приложения .

  2. Вы можете использовать новые функции cf v3-push и использовать Procfile. В этом вы можете иметь один web и один worker процесс. Это будет похоже на вариант № 1, но в итоге у вас будет одно приложение, в котором есть два процесса. Подробнее см. .

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

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

...