【发布时间】:2012-05-15 13:10:21
【问题描述】:
我正在设置一个服务器来托管一个 Django 应用程序,该应用程序具有:
-
uWSGIubuntu 的 uWSGI 初始化脚本启动的应用 -
celeryd由supervisord发起
所以我正在编写一个部署脚本,它将:
- 从 git 拉取代码
- 迁移数据库
- 告诉
uWSGI重新启动,这样它就会获取新代码。 - 告诉
celeryd重新启动,这样它也会接收到新代码。
uWSGI 有这个配置功能:
touch-reload
gracefully reload the uWSGI stack when a file/directory changes.
所以我的脚本由运行所有应用程序进程的非特权用户运行。
要重启uWSGI,我可以简单地touch ~/.restart_uwsgi。
有什么方法可以让celeryd 在supervisord 下运行而不授予非特权用户sudo 访问权限,以便他可以supervisorctl restart celeryd?
【问题讨论】:
标签: supervisord