有没有办法在CloudFoundry的php-buildpack中安装一个运行Supervisor?
我有一个Laravel应用程序,并且某些受监控的后台进程无法在queued jobs上运行。
我可以使用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
答案 0 :(得分:0)
不要使用supervisord,Cloud Foundry不需要。该平台完成了supervisord在这里为您做的一切。
要使用该平台,您有两种选择:
推送您的普通网络应用。为您的工作进程推送第二个应用程序。您可以通过运行cf push
两次或using an application manifest.yml file that describes both apps。
您可以使用新的cf v3-push
功能并使用Procfile。您可以拥有一个web
和一个worker
流程。这与选项#1类似,但最终会有一个应用程序在该应用程序下有两个进程。请参阅here for details。
这些选项的好处是该平台可以处理有关您的应用的所有内容。它启动它,它看着它,它重新启动它,如果有问题,它甚至可以扩展它。没有别的东西可以安装或配置。
希望有所帮助!