1
Yeungsin 2020-04-11 12:38:56 +08:00
CeleryBeat 部署多个的话会导致重复执行任务, 其它的看起来我感觉没问题
|
3
linnchord 2020-04-11 12:58:39 +08:00
CeleryBeat 为什么要跟着 web 启多台?应该用不着,独立一台 broker+beat,后面多台 worker 就行。
|
6
hushao 2020-04-11 15:27:42 +08:00 via iPhone
多台 web 、单台 beat
|
7
black11black 2020-04-11 16:18:58 +08:00
我觉得你要做高可用,选用 django 这个时间点就已经出局了吧..
|
8
zhoudaiyu OP @black11black 莫得办法 老项目
|
9
knktc 2020-04-11 16:46:44 +08:00
担心部署多个 beat 会有重复任务的话可以看下这个项目: https://github.com/ybrs/single-beat
或是用 uwsgi legion 来实现只启动一个 beat 的效果。 |
10
zhoudaiyu OP @knktc 十分感谢,我还看了一个用分布式锁实现只有一个 beat 在工作的项目 https://github.com/sibson/redbeat
|
11
scriptB0y 2020-04-11 17:16:26 +08:00 3
https://github.com/sibson/redbeat 推荐直接用这个。我用了一年了,它用在 redis 里面加锁的方式,起 N 个 beat 进程但是只有一个在运行,其余的待命。一般的高可用是够了。
之前这个锁有个 bug,不过我帮他 fix 了 XD https://github.com/sibson/redbeat/pull/128 |
12
zhoudaiyu OP @scriptB0y 大....大佬....请问这个支持 sentinel 吧,有啥坑么?谢谢
|
13
scriptB0y 2020-04-11 21:37:58 +08:00
@zhoudaiyu 就遇到这一个,其他的没了。sentinel 应该是支持的,但是我没用过
https://github.com/sibson/redbeat/blob/84743ca5272ceb74b165aa98875f250f877ac1e4/docs/config.rst#sentinel-support |
14
Allianzcortex 2020-04-11 23:39:22 +08:00
@scriptB0y 厉害
|
15
yeyuqiu 2020-04-20 11:37:24 +08:00
我最近也在用 https://github.com/sibson/redbeat,遇到了 timezone 的 1 个坑,之前有人提交过 PR,但是还没被 merge
|