忽略密钥文件并添加 Celery 广播 Supervisor 配置
This commit is contained in:
1
.gitignore
vendored
1
.gitignore
vendored
@@ -10,3 +10,4 @@ media/
|
|||||||
*.log
|
*.log
|
||||||
.DS_Store
|
.DS_Store
|
||||||
migrations/00*.py
|
migrations/00*.py
|
||||||
|
_secrets.py
|
||||||
|
|||||||
36
deploy/supervisor/README.md
Normal file
36
deploy/supervisor/README.md
Normal file
@@ -0,0 +1,36 @@
|
|||||||
|
# Celery 广播 Worker(Supervisor)
|
||||||
|
|
||||||
|
## 服务器安装(一次性)
|
||||||
|
|
||||||
|
```bash
|
||||||
|
apt install -y supervisor
|
||||||
|
systemctl enable supervisor && systemctl start supervisor
|
||||||
|
|
||||||
|
cd /opt/1panel/apps/openresty/nginx/www/sites/43.142.166.152.443/django
|
||||||
|
git pull
|
||||||
|
|
||||||
|
cp deploy/supervisor/celery-broadcast.conf /etc/supervisor/conf.d/celery-broadcast.conf
|
||||||
|
supervisorctl reread
|
||||||
|
supervisorctl update
|
||||||
|
supervisorctl start celery-broadcast
|
||||||
|
supervisorctl status celery-broadcast
|
||||||
|
```
|
||||||
|
|
||||||
|
## 验证
|
||||||
|
|
||||||
|
```bash
|
||||||
|
celery -A a_long_dianjing inspect registered | grep dingdan_guangbo
|
||||||
|
tail -f /var/log/celery-broadcast.log
|
||||||
|
```
|
||||||
|
|
||||||
|
## 日常
|
||||||
|
|
||||||
|
```bash
|
||||||
|
supervisorctl restart celery-broadcast
|
||||||
|
```
|
||||||
|
|
||||||
|
## 注意
|
||||||
|
|
||||||
|
- 不要用 `nohup` 再起第二个 celery worker,避免抢任务。
|
||||||
|
- 仅 `-Q default`,不会跑订单自动结算(order_tasks)。
|
||||||
|
- 密钥文件 `app_secrets.py` 只放服务器,不要提交 Git。
|
||||||
22
deploy/supervisor/celery-broadcast.conf
Normal file
22
deploy/supervisor/celery-broadcast.conf
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
; Celery 广播 Worker(仅消费 default 队列,跑 dingdan_guangbo)
|
||||||
|
; 安装:复制到 /etc/supervisor/conf.d/ 后执行 supervisorctl reread && supervisorctl update
|
||||||
|
;
|
||||||
|
; cp deploy/supervisor/celery-broadcast.conf /etc/supervisor/conf.d/celery-broadcast.conf
|
||||||
|
; supervisorctl reread && supervisorctl update && supervisorctl start celery-broadcast
|
||||||
|
|
||||||
|
[program:celery-broadcast]
|
||||||
|
directory=/opt/1panel/apps/openresty/nginx/www/sites/43.142.166.152.443/django
|
||||||
|
command=/opt/1panel/apps/openresty/nginx/www/sites/43.142.166.152.443/django/venv/bin/celery -A a_long_dianjing worker -l info -Q default --concurrency=4 --hostname=broadcast@%%h
|
||||||
|
user=root
|
||||||
|
autostart=true
|
||||||
|
autorestart=true
|
||||||
|
startsecs=10
|
||||||
|
startretries=999
|
||||||
|
stopwaitsecs=600
|
||||||
|
killasgroup=true
|
||||||
|
stopasgroup=true
|
||||||
|
stdout_logfile=/var/log/celery-broadcast.log
|
||||||
|
stderr_logfile=/var/log/celery-broadcast.err.log
|
||||||
|
stdout_logfile_maxbytes=50MB
|
||||||
|
stderr_logfile_maxbytes=50MB
|
||||||
|
environment=DJANGO_SETTINGS_MODULE="a_long_dianjing.settings"
|
||||||
Reference in New Issue
Block a user