1
misaka19000 2017-06-19 21:29:33 +08:00 via Android
只用过 Redis 的路过帮顶。。。
|
2
clarkchen 2017-06-19 21:37:08 +08:00
CELERY_RESULT_BACKEND 你要不指到 redis 里面,,,
|
3
WangYanjie 2017-06-19 21:42:11 +08:00
用 countdown 了吗?
|
4
agentwx OP @WangYanjie 我在 task 里面做的只是调用了另外的方法,countdown 是在什么时候使用呢? 谢谢
|
5
shellfly 2017-06-19 23:07:07 +08:00
RabbitMQ 不是自带了一个挺好用的 Management Plugin 吗,配置好了就容易看到具体是什么消息堆住了
|
6
macroideal 2017-06-20 07:28:25 +08:00 via iPhone
处理了没 acc?
|
7
NaVient 2017-06-20 09:07:06 +08:00
设置了消息应答了吗,消息需要 ack
|
8
WangYanjie 2017-06-20 10:26:23 +08:00
unacknowledged 指的是,消息发给 consumer 了,但是没有 ack ;正常情况是会有的,如果你使用了延迟任务,会更多一点;
|
9
agentwx OP @WangYanjie 嗯 , 但是现在是 unacknowledged 的值是 0,那我理解的话,应该 ready 和 total 应该也没有才对。
为啥 ready 和 total 的值是那么多,而且感觉是这个消息还是在 rabbitmq 里存着的,不然为啥进程的内存占用那么多。 按我的理解,如果 unacknowledged 的为 0 了, 意味这消息被出来了,不会被存到某个队列里才对。 |
11
agentwx OP @macroideal acc 是怎么个处理法?求指导
|
12
macroideal 2017-06-20 13:14:37 +08:00
@agentwx #11 就是发一个 ack,回去
|
13
agentwx OP 已经解决了,升级了 rabbitmq 到 3.3 以上版本就可以了。
之前用的是 rabbitmq 3.1 的版本,然后 celery 是 3.1 的版本 |
14
WangYanjie 2017-06-21 10:17:49 +08:00 1
@agentwx unack 只是一个状态,代表有 consumer 消费了这个消息,但是还没确认;只有当 consumer 确认之后,RMQ 才不用再存储这个消息
|
15
agentwx OP @WangYanjie 谢谢,原来如此
|