gpt4 book ai didi

python - 如何获取 celery 经纪人和后端的状态?

转载 作者:可可西里 更新时间:2023-11-01 11:23:44 25 4
gpt4 key购买 nike

celery 是否有一种干净的方法来了解其代理和/或结果后端是否已关闭?

我将 celery 与 RabbitMQ 代理和 Redis 后端一起使用。

目前,我发现最简单的方法是提交一个虚拟任务,它会在代理关闭时引发 kombu.exceptions.OperationalError,而在当代理关闭时引发 redis.exceptions.ConnectionError后端已关闭。

然而,这感觉很老套。有没有更好的办法?

最佳答案

深入研究 Celery 的源文件后,我最终使用了以下内容

import celery
import kombu
import redis

try:
with celery.current_app.connection_for_write() as conn:
conn.connect()
conn.release()
print("Broker is working")
except(ConnectionError, kombu.exceptions.OperationalError):
print("Broker is down")

try:
celery.current_app.backend.get('Whatever')
print("Backend is working")
except(ConnectionError, redis.exceptions.ConnectionError):
print("Backend is down")

关于python - 如何获取 celery 经纪人和后端的状态?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55299277/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com