1
ClericPy 2020-04-22 09:38:38 +08:00
好久不用 supervisor 了, 现在用着 systemd 直接一个 After=XXX 就做到串行启动了
如果非要 supervisor, 以前我是写了个 while 循环不断 sleep 检查是否可连接, 后来受不了才改 systemd 的... 随手搜了下说用 Event 什么的, 以前没试过不确定怎么样 |
3
keepeye 2020-04-22 09:48:31 +08:00
systemd 好用
|
4
lniwn 2020-04-22 09:50:40 +08:00
我用的 circusd,可以使用 hooks,官方有例子: https://circus.readthedocs.io/en/latest/for-devs/writing-hooks/#hooks
|
5
Vegetable 2020-04-22 09:52:56 +08:00
我感觉 supervisor 应该也有 depend 这种配置,但是接触的太少不了解。
我也建议直接采用 systemd |
6
sonice 2020-04-22 09:55:57 +08:00
启动不是有优先级吗?
``` The relative priority of the program in the start and shutdown ordering. Lower priorities indicate programs that start first and shut down last at startup and when aggregate commands are used in various clients (e.g. “start all”/”stop all”). Higher priorities indicate programs that start last and shut down first. ``` |
7
OnlyO OP @sonice 设置了优先级,优先级只能保证启动顺序不能保证完全启动 https://stackoverflow.com/questions/17443692/python-supervisord-program-dependency
|
8
sonice 2020-04-22 10:49:20 +08:00
|
9
awanabe 2020-04-22 11:00:06 +08:00
uwsgi 和 celery 启动的时候去掉依赖 mysql...
|
10
xpresslink 2020-04-22 11:13:31 +08:00
mysql 服务起动过程相对较慢
可以弄个 sh 脚本来起动 uwsgi 和 celery 启动,脚本前面先 sleep 30 秒 把这个脚本加到 rc.local |
11
keakon 2020-04-22 11:25:11 +08:00
把 supervisor 改成在 mysql 后启动
|
12
deljuven 2020-04-22 11:33:10 +08:00
单机编排软件 docker-compose 欢迎你……
|
13
ctOS1H 2020-04-22 11:36:09 +08:00
可以试试编排
|
14
AllenBigBear 2020-04-22 11:44:04 +08:00
performance_schema=ON 这个开了,把这个关了就好
|
15
AllenBigBear 2020-04-22 11:46:05 +08:00
忘记贴个链接了,直接自己碰到的,写了个记录。。你看看一样不?
https://www.jianshu.com/p/3ab146fd5153 |
16
wangyzj 2020-04-22 12:04:29 +08:00
docker-compose
|
17
superrichman 2020-04-22 12:10:07 +08:00 via iPhone
裸奔的话,supervisor 换成 pm2 管理。
用 docker 就写个 compose 文件。 |
18
ieric 2020-04-22 13:25:26 +08:00 via iPhone
celery 支持 uwsgi 吗?
|
19
ieric 2020-04-22 13:26:44 +08:00 via iPhone
celery 支持 uwsig 吗?
|
20
love 2020-04-22 15:34:43 +08:00 via Android
我以前也用这个,后来就换成 systemd 了,更简单更稳定
|
21
Variazioni 2020-04-22 15:43:33 +08:00
supervisor 顺序启动这块是个坑。。
只能设置优先级。但是 supervisor 不能检测你的程序有没有完全启动。。 所以并没有什么卵用。。 我现在的方案是用关闭配置文件里的自启动。用脚本启动。。supervisorctl start xxx 。然后各 x 秒,启动下一个。。 |
22
vZexc0m 2020-04-22 15:56:16 +08:00
可以把 supervisor 的 autostart=true 和 utorestart=true 打开,然后在 celery 和 uwsgi 启动时判断能否连接 MySQL,不能连接则抛出异常停止进程,然后 supervisor 会自动重启 celery 和 uwsgi 。
|
24
Kobayashi 2020-04-22 18:33:05 +08:00 via Android
supervisor 控制 MySQL 启动,这什么骚操作
|
25
knightdf 2020-04-22 21:06:39 +08:00
mysql 在 supervisor 之前启动不就好了?
|