问题标签 [supervisord]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
2267 浏览

python - 龙卷风不会在主管中干净地重新启动

我正在使用 tornado 运行烧瓶应用程序,并且我有一个 shell 脚本,它做了一些工作,然后运行该应用程序。

我使用主管来管理这个小脚本。启动工作正常(sudo supervisorctl start theapp.sh),但是当我想重新启动时,python 子进程不会退出并挂起,占用端口并阻止再次启动。我尝试添加陷阱以确保在脚本被主管停止时确实停止了 python 代码,但这没有奏效。我已经尝试为 gevent 的 wsgi 服务器切换龙卷风并且遇到了同样的问题。我应该怎么做这个小脚本?

0 投票
4 回答
41781 浏览

supervisord - supervisorctl ERROR(异常终止)

当我跑步时sudo supervisorctl start stage,我得到ERROR (abnormal termination). 请你看看好吗?

这是我的文件/etc/supervisord.conf。我错过了什么吗?谢谢

0 投票
1 回答
14440 浏览

python - 对于给定的进程,“supervisorctl tail”是如何工作的?

从哪里supervisorctl tail获取某个进程的日志信息?如何获得完整的日志?

0 投票
1 回答
4406 浏览

monitoring - 为什么 Supervisor 无法识别代码更改?

我正在使用Supervisor在 EC2 实例上管理我的 node.js 应用程序,并使用 git 进行部署。Supervisor 在确保我的应用程序保持正常运行方面做得很好,但是每当我将新的服务器端代码推送到我的远程服务器时,它往往无法识别这些更改。我需要杀死主管进程并重新启动它。是我做错了什么,还是这是标准行为?

0 投票
1 回答
7702 浏览

supervisord - 如何在 Supervisord 的 [supervisord] 配置部分中使用环境变量?

我在 Supervisord 的程序部分使用环境变量,它们工作得很好:

我不知道如何在 [supervisord] 部分中做同样的事情。我尝试使用带和不带 ENV_ 前缀的相同语法,但出现以下错误:

有没有办法做到这一点?

0 投票
2 回答
6291 浏览

python - 通过 xmlrpc 与 supervisord 交谈

我正在尝试supervisor通过 xmlrpc 与之交谈。基于supervisorctl(尤其是这一行),我有以下内容,它似乎应该可以工作,而且确实可以工作,只要它连接到足以从服务器接收错误:

导致此错误:

这是unix_http_server部分supervisord.conf

因此,应该没有身份验证问题。

似乎我的代码在所有材料方面都与 中的等效代码相同supervisorctl,但supervisorctl实际上有效。我究竟做错了什么?

0 投票
1 回答
586 浏览

haproxy - 带有 haproxy、paster 和 node js 的 supervisord

我必须为我的应用程序和 nodejs 运行 paster serve 来满足我的实时要求,两者都是通过 haproxy 配置的,但是在这里我需要以 sudo 的身份运行 haproxy 以将端口 80 和其他进程绑定为普通用户,该怎么做?我尝试了不同的方法,但没有用。我试过这个命令

命令=sudo haproxy

我认为这不是我们应该这样做的方式。有任何想法吗?

0 投票
1 回答
231 浏览

linux - supervisord 中的命令失败“stdout_log 和系统命令”

我有一个使用 supervisord 监控的 c++ 可执行文件。我把 supervisord 作为启动过程。当我重新启动时,supervisord 和我的可执行文件工作正常(功能上)。并在 tmp 中创建 Stdout_log 文件(这也很好)。但是日志文件是空的。

在我的可执行文件中,我运行了几个使用 system() 执行的 bash 脚本,但它也失败了。

所以我有两个问题

  1. 日志文件为空
  2. 系统()失败

我可以将这些问题与一些许可相关联,但没有解决它的线索。寻找一些建议

谢谢

0 投票
1 回答
168 浏览

python - 如何使用 Buildout 实现 App 版本切换?

我的应用程序是用 Flask 开发的,并使用 buildout 来处理依赖隔离。我打算用 Gunicorn 和 supervisord 作为 wsgi 容器和进程管理器,前面有 Nginx 做负载均衡。这是部署新版本应用程序时的问题:所有内容都构建在子文件夹中,如何重新启动 gunicorn 服务器以便可以优雅地进行版本切换?

我当然想出了一些解决方案:

  1. 抛弃 gunicorn 和 superviosrd,转而使用 apache mod_wsgi,因此在部署新版本时,我只需更改 .wsgi 文件中的文件夹,服务器就会重新启动。

  2. 使用 virtualenv 并在其中安装 gunicorn、supervisord 以及我的应用程序包,因此在切换版本时我只需使用 supervisorctl 重新启动它。

有没有一种“纯粹的”构建方式可以完成这种情况?或者任何正在使用的生产解决方案都将受到赞赏。

提前致谢。

0 投票
2 回答
5199 浏览

environment-variables - 执行前加载环境变量

我打算在环境变量中存储一些应用程序设置,比如MYSQL_URL=mysql://...我使用supervisord来管理应用程序进程。子进程启动前如何加载环境变量?特别是当这些设置发生变化时,我希望重新启动子进程会加载新的设置。

另外我想知道在哪里存储这些环境变量。我可以“导出 $(cat 文件名)”的文件?或者一些更好的方法。我很好奇 Heroku 如何管理它的环境变量。