> uWsgi应用程序由ubuntu的uWsgi init脚本启动
> celeryd由supervisord开始
所以我正在编写一个部署脚本,它将:
>从git中提取代码
>迁移数据库
>告诉uWsgi重新启动,这样它就会获取新代码.
>告诉celeryd重新启动,因此它也将获取新代码.
uWsgi具有以下配置功能:
touch-reloadgracefully reload the uWsgi stack when a file/directory changes.
因此,我的脚本由非特权用户运行,在该用户下运行所有应用程序的进程.
要重新启动uWsgi,我只需触摸〜/ .restart_uwsgi即可.
有没有办法我可以做同样的事情为celeryd在supervisord下运行而不授予对非特权用户的sudo访问权限以便他可以supervisorctl重启celeryd?
解决方法 由于我还没有找到更好的方法,这就是我现在正在做的事情:# restart_my_proc.sh:#!/bin/shsupervisorctl restart <my_proccess_name>chmod +x restart_my_proc.sh# sudoers:<site_user> ALL= nopASSWD:/path/to/restart_my_proc.sh# my_deploy_script.shsudo /path/to/restart_my_proc.sh
所以我使用的是sudo,而不是最好的解决方案,但它确实有效.
如果有人对此有更好的答案,我很乐意改变接受的答案.
总结以上是内存溢出为你收集整理的Supervisord:有没有办法让孩子接触?全部内容,希望文章能够帮你解决Supervisord:有没有办法让孩子接触?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)