2024-06-28 19:26:24 发布
网友
我用的是python芹菜+rabbitmq。我找不到在某个队列中获取任务计数的方法。 像这样的事情:
celery.queue('myqueue').count()
是否可以从确定队列中获取任务计数?在
一种解决方案是从python scrpit运行外部命令:
分析结果,这是个好方法吗?在
我想使用rabbitmqctl命令不是一个好的解决方案,尤其是在我的ubuntu服务器上,rabbitmqctl只能用root权限执行。在
通过玩鼠兔,我找到了解决办法:
import pika from django.conf import settings def tasks_count(queue_name): ''' Connects to message queue using django settings and returns count of messages in queue with name queue_name. ''' credentials = pika.PlainCredentials(settings.BROKER_USER, settings.BROKER_PASSWORD) parameters = pika.ConnectionParameters( credentials=credentials, host=settings.BROKER_HOST, port=settings.BROKER_PORT, virtual_host=settings.BROKER_VHOST) connection = pika.BlockingConnection(parameters=parameters) channel = connection.channel() queue = channel.queue_declare(queue=queue_name, durable=True) message_count = queue.method.message_count return message_count
我没有找到关于用pika检查AMQP队列的文档,所以我不知道解决方案的正确性。在
我想使用rabbitmqctl命令不是一个好的解决方案,尤其是在我的ubuntu服务器上,rabbitmqctl只能用root权限执行。在
通过玩鼠兔,我找到了解决办法:
我没有找到关于用pika检查AMQP队列的文档,所以我不知道解决方案的正确性。在
相关问题 更多 >
编程相关推荐