如何查看在rabbitmq queu中推送的所有芹菜任务

2024-09-27 21:28:58 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个django项目,它有celery 2.5.5和Debian6上的rabbitmq后端。我在一个队列中有超过6000个不同类型的任务。代码中有一些错误,我需要列出该队列中的所有任务,并拉出其中一些任务。我只需要找到rabbitmq队列中的所有任务id。我不知道如何连接rabbitmq队列并列出它的内容,最好不要启动管理插件。在

最好是Python一样的东西:

    import somelib
    conn = somelib.server(credentials, vhost)
    queue = conn.get_queue(queue_name)
    messages = queue.get_messages()

但任何其他列出此类队列的工具都会有所帮助。发现一些工具是用npm安装的,但debian6不知道npm,从源代码构建它不是一种很愉快的方式。在

或者,以人类可读的形式备份rabbitmq队列的方法也很受欢迎。在

谢谢你的建议

帕维尔


Tags: 工具项目django代码类型npmget队列
2条回答

您可以使用^{}库来完成此操作。在

它将为您提供多种功能,如显示任务进度和历史记录,在漂亮的仪表板样式界面中显示任务详细信息、图表和统计信息。在

下面是一些截图供参考。在

任务面板:

tasks

工人任务:

worker_tasks

任务信息:

task_info

如果您想要一个预制接口,您将喜欢flower。它在一个不错的web视图中显示所有任务。在

但是,如果您试图以编程方式处理每个任务,flower是不对的,因为它不支持它。然后,您必须为python使用rabbitmq/AMQP库,这里讨论过:Good Python library for AMQP

有了这个,你就可以用某种或其他方式来完成你想象中的代码了,但是你必须读懂它,因为我现在对芹菜和花还没什么意见。在

相关问题 更多 >

    热门问题