我正在尝试弄清楚如何获取未确认消息的信息。它们存储在哪里?通过使用celery inspect,似乎一旦消息被确认,它会处理并且您可以跟踪状态。假设您有结果后端,那么您可以看到它的结果。但是从您应用延迟到它被确认的时间,它就处于黑洞中。
以下是需要回答的问题:
以下是需要回答的问题:
- noAcks 存储在哪里?
- 我如何查找 noAcks 列表的“深度”?换句话说,有多少个 noAcks,我的任务在列表中位于哪里。
from celery.app import app_or_default
app = app_or_default()
inspect = app.control.inspect()
# Now if I want "RECEIVED" jobs..
data = inspect.reserved()
# or "ACTIVE" jobs..
data = inspect.active()
# or "REVOKED" jobs..
data = inspect.revoked()
# or scheduled jobs.. (Assuming these are time based??)
data = inspect.scheduled()
# FILL ME IN FOR UNACK JOBS!!
# data = inspect.??
# This will never work for tasks that aren't in one of the above buckets..
pprint.pprint(inspect.query_task([tasks]))
非常感谢您在这方面提供的建议和帮助。