我有一个工作进程一次处理1个RabbitMq消息。 现在,一旦工人退出,supervisord正在重新启动它(将处理下一条消息)。 我想设置一个时间间隔X秒,这样supervisord不会立即重新启动,但是在启动另一个工作人员之前它会等待一段时间。 这可能吗? 怎么样?
我正在CentOS 6盒子上运行supervisord , /usr/bin/supervisord -c /etc/supervisord.conf 当我启动supervisorctl所有进程状态都很好,但是如果我尝试在supervisorctl中的reload命令,然后做任何事情,我得到 unix:///tmp/supervisor.sock没有这样的文件 但重新加载命令应该照顾重新创build.sock? 我正在使用相同的configuration文件,我已经成功地在其他盒子上使用,并以即时通讯方式运行一切。 我不能不担心什么是问题 configuration文件: ; Sample supervisor config file. [unix_http_server] file=/tmp/supervisor.sock ; (the path to the socket file) ;chmod=0700 ; socket file mode (default 0700) ;chown=nobody:nogroup ; socket file uid:gid owner ;username=user ; (default is no username (open server)) ;password=123 ; (default is no password (open server)) […]
其实我正在使用主pipe来监视一个进程,并在出于某种原因停止时重新启动它。 问题是,如果主pipe崩溃,进程将停止监视。 所以我想安排一个cronjob来检查主pipe正在运行,并最终重新启动它。 我正在考虑的下一件事是摆脱主pipe,并直接从cronjob检查我的过程。 我读过,有时候主pipe使用太多的内存(要validation,虽然)。 主pipeVS cronjob监控stream程有哪些优点?
我似乎无法弄清楚为什么supervisord不能作为非root用户运行。 如果我将用户设置为jason(pid 1000)来启动它,我会在日志文件中得到以下内容: 2010-05-24 08:53:32,143 CRIT Set uid to user 1000 2010-05-24 08:53:32,143 WARN Included extra file "/home/jason/src/tsched/celeryd.conf" during parsing 2010-05-24 08:53:32,189 INFO RPC interface 'supervisor' initialized 2010-05-24 08:53:32,189 WARN cElementTree not installed, using slower XML parser for XML-RPC 2010-05-24 08:53:32,189 CRIT Server 'unix_http_server' running without any HTTP authentication checking 2010-05-24 08:53:32,190 INFO daemonizing the […]
我有一个Nginxnetworking代理,gunicorn web服务器和一个python / flask web应用程序。 Gunicorn进程显然已经死亡,我希望通过研究能够监控并重新启动gunicorn进程的实用程序,以便在未来再次崩溃的时候改进这一进程。 我发现了几个可以完成这项工作的人: 暴发户 运行 监 daemontools的 还有很多 是否有一篇综合性的文章比较了用于监控和重启过程的各种实用程序?
我如何使用状态文件来清除一个salt-minion上的目录? 在设置其他主pipe服务之前,我想删除/etc/supervisord/conf.d/所有*.conf文件。 以下top.slsconfiguration不起作用: /etc/supervisor/conf.d/*: file.absent file.remove失败,因为不可用。
我在CentOS 6.5上安装了Supervisor,目前遇到一些奇怪的错误,我似乎无法修复。 我在/etc目录下创build了一个supervisord.conf文件,并像这样调用supervisor: $ supervisord -c /etc/supervisord.conf 这看起来很基本。 但是这个错误不断出现: Error: .ini file does not include supervisord section 我的supervisord.conf文件如下所示: [program:supervisord] command=/usr/local/bin/run_queue.sh autostart=true autorestart=true stderr_logfile=/var/log/laraqueue.err.log stdout_logfile=/var/log/laraqueue.out.log 有人知道这里有什么问题吗?
我目前正在重build我的vps,我想用pipe理员来pipe理我的gunicorn / wsgi django进程。 事情是,主pipe不断退出stream程: 2010-07-23 14:54:40,575 INFO supervisord started with pid 31391 2010-07-23 14:54:41,582 INFO spawned: 'projectx' with pid 31395 2010-07-23 14:54:41,691 INFO exited: projectx (exit status 0; not expected) 2010-07-23 14:54:42,695 INFO spawned: 'projectx' with pid 31401 2010-07-23 14:54:42,801 INFO exited: projectx (exit status 0; not expected) 2010-07-23 14:54:44,806 INFO spawned: 'projectx' with […]
当通过pipe理员控制时,有没有办法“优雅地”closurestomcat? 我的理解是Tomcat的shutdown.sh脚本与closures端口上的tomcat对话以启动正常closures。 主pipe似乎没有办法指定closures“命令”,只使用信号。 有没有人成功地使用tomcat的主pipe? 另外,由于tomcat的startup.sh脚本启动了java进程,我一直在直接将生成的java命令复制到pipe理程序中,但是由于所有的环境设置,这不如使用startup.sh脚本。 有没有办法让主pipe使用startup.sh脚本,但仍然跟踪由此产生的子Java过程?
我曾经使用主pipe来pipe理一个运行Django站点的Gunicorn进程,尽pipe这个问题可能与pipe理员正在pipe理的任何东西有关。 以前我是pipe理和使用我们服务器的唯一人员,而且pipe理员只是以root身份运行,我会在需要时使用sudo来运行supervisorctl restart myapp 。 现在我们的服务器必须支持在不同地点工作的多个用户,每个项目都需要能够重新启动他们自己的gunicorn进程,而不能重新启动其他用户的进程。 我跟着这个博客文章: http://drumcoder.co.uk/blog/2010/nov/24/running-supervisorctl-non-root/ 并能够允许非root用户使用supervisorctl,但现在任何人都可以重新启动其他人的进程。 从外观上看,主pipe没有办法做每个用户的访问控制。 任何人有任何想法如何让用户只重新启动自己的进程没有根? 编辑:我们曾经想过的一些事情包括编写一个脚本所拥有的suid位设置,只包含supervisorctl restart myapp并将其放在拥有myapp的用户的目录中的一个脚本。 互联网似乎是说,如果做错了,这样的脚本是不安全的。 我们还考虑编写一个自定义守护进程来监听来自特定用户的命令,并在用户有权限的情况下重新启动监督进程。 如果简单的解决scheme可行,这个想法似乎过于复杂。