【问题标题】:Run Supervisor on CloudFoundry在 CloudFoundry 上运行主管
【发布时间】:2018-04-30 13:42:00
【问题描述】:

有没有办法在 CloudFoundry 的 php-buildpack 中安装运行 Supervisor

我有一个 Laravel 应用,不想让一些受监控的后台进程在 queued jobs 上运行。

我可以使用 apt-buildpack 安装 supervisor,但是当我不想用 supervisord -c supervisord.conf 启动 supervisor 时,我会收到以下错误:

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

【问题讨论】:

    标签: laravel background-process cloud-foundry supervisord swisscomdev


    【解决方案1】:

    不要使用 supervisord,Cloud Foundry 没有必要。该平台可以完成 supervisord 在这里为您做的所有事情。

    要利用该平台,您有两种选择:

    1. 推送您的普通网络应用程序。为您的工作进程推送第二个应用程序。您可以通过运行两次cf pushusing an application manifest.yml file that describes both apps 来执行此操作。

    2. 您可以使用新的 cf v3-push 功能并使用 Procfile。因为您可以拥有一个web 和一个worker 进程。这将类似于选项 #1,但您最终会得到一个应用程序,该应用程序在该应用程序下有两个进程。见here for details

    这些选项的好处是平台可以处理有关您的应用的所有内容。它启动它,它监视它,如果有问题它会重新启动它,它甚至可以扩展它。无需安装或配置其他任何内容。

    希望有帮助!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-03-08
      • 1970-01-01
      • 1970-01-01
      • 2021-07-08
      • 1970-01-01
      • 1970-01-01
      • 2018-03-21
      • 2012-08-02
      相关资源
      最近更新 更多