问题标签 [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 回答
399 浏览

python - 使用 Python/Django 和主管的成长过程

我正在使用 django 1.3,并且正在使用主管在 Web 上下文之外运行脚本。

进程的内存使用量每分钟都在增长

代码看起来或多或少是这样的:

添加 close_connection 通过避免表上的 LOCKS 帮助了我,但现在我遇到了这个日益严重的过程问题。

我该如何管理事情以避免这种情况?

0 投票
2 回答
129358 浏览

supervisord - 如何使用supervisorctl仅重新启动某些进程?

我正在使用 supervisord 运行一些进程,名为 process1、process2、...、process8。如果我想重新启动进程{1-4},我该如何使用 supervisorctl?

0 投票
3 回答
2112 浏览

linux - Bash 管道和 SIGTERM

我有一个大致如下所示的 Bash 脚本“脚本”:

当我做一个kill script(或更准确地说,当我在 中做一个“停止脚本”时supervisord),并不是所有的 cmd* 都被杀死了。我如何确保它们与生成它们的脚本一起被终止?

0 投票
1 回答
1282 浏览

java - 有没有类似于supervisord的java

我正在编写一个分布式系统,其中作业(进程)将在多个节点(LINUX 机器)上运行。

我希望能够在这些机器上启动作业,终止作业(杀死),监控每台机器上正在运行的内容。

我正在寻找可用于实现此解决方案的框架(最好是 Java 中的)。

我已经研究过使用 Hadoop 或 Akka 等框架使用的底层组件,但没有提出任何令人满意的结果。

我正在寻找的一些额外限制:

  1. 它应该合理地扩散到生产级项目中
  2. 它应该允许我启动用任意语言编写的 UNIX 进程
  3. 应该是开源的
  4. 它应该是轻量级的——一位回答者建议我查看基于代理的框架——尽管这些满足我发布的要求——我发现它们的重量很重。我正在寻找真正满足所述要求并且不需要我采用更全面的方法的东西。

谢谢。

0 投票
1 回答
1212 浏览

django - Django Supervisord fastcgi 配置 (supervisord.conf) - 立即退出

我正在尝试编写一个 supervisord.conf 来启动一个 django fastcgi 进程。唯一的问题是,当我执行我的 fastcgi 命令时,它会生成一个 fastcgi 进程并立即在主管中显示为“EXITED”。(这有点违背主管的观点)

是否有某种方式可以让主管进程知道 django fastcgi 进程确实正在运行但它在后台?我正在研究所有的supervisord配置参数,这似乎应该是可能的(也许它可以基于pid文件或其他东西以某种方式确定这一点),但我在文档中有点迷失了。

注意:我实际上是使用 django-supervisor 在 Django 上下文中使用变量创建我的配置文件。就本示例而言,{{ PYTHON }} 和 {{ settings.VIRTUALENV_ROOT }} 等变量仅由明显的路径填充。它应该像普通的 supervisor.conf 文件一样运行。

下面是我的 supervisord.conf 文件。

谢谢阅读。非常感谢任何建议。

0 投票
1 回答
12380 浏览

python - 将 celery 任务路由到特定队列

我的服务器上运行了两个独立的 celeryd 进程,由supervisor. 它们被设置为侦听单独的队列,如下所示:

我的 celeryconfig 看起来像这样:

所有tasks.sync任务都必须路由到特定队列(因此​​ celeryd 进度)。但是,当我尝试手动运行任务时,sync.apply_async(kwargs={'client': 'value'}, queue='queue1')两个芹菜工人都会接手任务。如何使任务路由到正确的队列并且仅由绑定到队列的工作人员运行?

0 投票
1 回答
2247 浏览

supervisord - 监督者:有没有办法让孩子重新加载?

我正在设置一个服务器来托管一个 Django 应用程序,该应用程序具有:

  1. uWSGI由 ubuntu 的 uWSGI 初始化脚本启动的应用程序
  2. celeryd开始于supervisord

所以我正在编写一个部署脚本,它将:

  1. 从 git 拉取代码
  2. 迁移数据库
  3. 告诉uWSGI重新启动,因此它将获取新代码。
  4. 告诉celeryd重新启动,因此它也会获取新代码。

uWSGI具有此配置功能:

所以我的脚本由运行所有应用程序进程的非特权用户运行。

要重新启动uWSGI我可以简单地touch ~/.restart_uwsgi

有什么方法可以在不授予非特权用户 sudo 访问权限的情况celeryd下运行相同的操作,这样他就可以了?supervisordsupervisorctl restart celeryd

0 投票
1 回答
2157 浏览

python - 新的主管 - 如何制作一个有效的守护进程

我是新来的主管。下面是我的主管配置文件。

现在,我需要妖魔化以下进程:1)我可以停止父进程和所有子进程 2)启动 3)重新加载所有子进程 4)如果子进程失败则自动重新启动。
5)这里是启动的命令行

所以......我使用runit吗?暴发户?

到目前为止,我已经杀死了 -9 所有的父母和孩子,如果我这样做了,他们就不会重生。

0 投票
0 回答
1631 浏览

linux - 在 Ubuntu Natty 上使用 gearmand 运行 supervisord 时出错

我正在使用 Ubuntu Natty。

我正在尝试使用 supervisord 来对 gearmand 进行去魔化。我已经安装了 gearmand 和 supervisord。

但是,每当我启动 supervisord 时,我都会收到以下日志条目:

下面是我在 supervisord.conf 中的 gearmand 程序条目

当我/usr/sbin/gearmand -u root在命令行中运行命令时,它可以正常工作。

不知道我做错了什么,希望得到一些帮助。

谢谢。

0 投票
1 回答
3308 浏览

dotcloud - dotcloud supervisord twistd 提前退出

我正在尝试在 dotcloud 上设置一个 twistd 守护进程:

我的 supervisord.conf 文件:

但是,它看起来像命令'exits early',然后提示Supervisor尝试并重新启动,然后由于twistd dameon在后台运行而失败。

从supervisord日志:

从 apnsd 日志:

工人状态失败:

但是扭曲的过程在那里(ps -ef):

尝试通过包装脚本启动进程时(并使用 exec 以便不创建子进程)时,我遇到了类似的问题。我究竟做错了什么?