我计划使用supervisor运行多个进程,请在下面找到我的supervisord.conf文件:[supervisord][program:bash]command=xyzstdout_logfile=/tmp/bash.logredirect_stderr=true[supervisorctl]serverurl=unix:///tmp/supervisor.sock[unix_http_server]file=/tmp/supervisor.sock;pathtoyoursocketfile[rpcinterface:supervisor]supervisor.rpcinterf
我通过dockerrun传递了两个环境变量:dockerrun-d--namefoobar-eSTAGE=testing-eSTAGE_URL=http://...以及启动几个进程的主管的dockerfile启动:CMD["/usr/bin/supervisord","--configuration","/etc/supervisor/conf.d/supervisord.conf"]在supervisord.conf我尝试读取变量:[program:build]priority=1autorestart=falsedirectory=/app/foobarcommand=gruntb
我正在尝试使用supervisor-stdout集中来自supervisord及其进程的输出。但是有了这个supervisord配置:#supervisord.conf[supervisord]nodaemon=true[program:nginx]command=/usr/sbin/nginxstdout_events_enabled=truestderr_events_enabled=true[eventlistener:stdout]command=supervisor_stdoutbuffer_size=100events=PROCESS_LOGresult_handler=s
我必须在相同服务器(客户要求)上设置“dockerized”环境(集成、质量保证和生产)。每个环境将组成如下:rabbitmqcelery花名为“A”的基于python3的应用程序(每个特定分支环境)在它们之上,jenkins将基于CI处理部署。在每个环境中使用一组容器听起来是最好的方法。但现在我需要流程管理器来运行和监督所有这些:3个兔子容器,3个celery/花卉容器,3个“A”容器,1个Jenkins容器。Supervisord似乎是最佳选择,但在我的测试期间,我无法“正确”重新启动容器。这里是supervisord.conf的片段[program:docker-rabbit]c
我试图弄清楚我何时使用reload命令来管理supervisord。它会停止当前在其下执行的处理吗?我使用了以下步骤:mlzboy@mlzboy-mac:~/my/ide/test$pstree-p|grepsuper|-supervisord(6763)mlzboy@mlzboy-mac:~/my/ide/test$supervisorctldaemonSTARTINGsupervisor>reloadReallyrestarttheremotesupervisordprocessy/N?yRestartedsupervisordsupervisor>exitmlzboy@mlzbo
我有一个[program:x]正在运行,它会打印/sys.stdout.writes很多东西。在[supervisord]的AUTOchildlogdir或[program:x]的stdout_logfile中都没有出现我错过了什么吗?如何捕获从[program:x]打印或标准输出的所有内容?在我的程序中,我明确地同时做这两件事,print"something"sys.stdout.write("something")相关的supervisord.conf文件[supervisord]childlogdir=%(here)s/../logs/supervisord/logfile=%(
如果由于内存压力而崩溃,我无法弄清楚如何在Ubuntu16.04上自动重启mongodb。我将supervisord用于其他脚本等,但mongod是通过systemctl实现的,我不确定它与它的关系。 最佳答案 想通了:编辑您的mongod服务:sudovim/lib/systemd/system/mongod.service在service下添加Restart=always重新加载systemctl守护进程:sudosystemctldaemon-reload现在每当mongod被杀时。它会被systemctl重生。
如果由于内存压力而崩溃,我无法弄清楚如何在Ubuntu16.04上自动重启mongodb。我将supervisord用于其他脚本等,但mongod是通过systemctl实现的,我不确定它与它的关系。 最佳答案 想通了:编辑您的mongod服务:sudovim/lib/systemd/system/mongod.service在service下添加Restart=always重新加载systemctl守护进程:sudosystemctldaemon-reload现在每当mongod被杀时。它会被systemctl重生。
所以我正在设置supervisord并尝试控制多个进程并且一切正常,现在我想设置一个组,以便我可以启动/停止不同的进程集,而不是全部或全部。这是我的配置文件的片段。[group:tapjoy]programs=tapjoy-game1,tapjoy-game2[program:tapjoy-game1]command=pythontapjoy_pinger.py-ggame1directory=/go/here/firstredirect_stderr=trueautostart=trueautorestart=truestopasgroup=truekillasgroup=true[
我的supervisord.conf中有[program:A],[program:B]B依赖A,意思是:A应该在B之前开始。主管如何确保这一点? 最佳答案 supervisord不直接支持依赖。您的选择是:使用优先级。将A的priority设置为低值,在B之前启动,在B之后关闭.priority的默认值为999。如果您也将这两个程序归为一组,您可以同时启动和停止它们,优先级调节它们的启动和停止顺序。写一个eventlistener监听PROCESS_STATESTARTING-to-RUNNING转换和A的STOPPING事件,然后