问题标签 [kombu]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
398 浏览

python - 成功使用pidbox.Mailbox?

有人用过pidbox.Mailbox吗?

我正在尝试做与该示例类似的事情,但该文档已经过时了。我设法获得了将消息发布到 django 传输的东西,但从那里他们从未成功收到。

我希望有人知道如何使用它,并可以向我展示如何成功调用/投射的示例。

这是我所拥有的(虚拟节点实际上什么都不做,只是打印或列出):


和一个简单的客户。

0 投票
2 回答
1793 浏览

python - 需要有关此 Kombu 错误的帮助

请原谅 python 解释器的复制和粘贴,但我正在尝试使用 Kombu,但我似乎无法创建消费者。请帮忙,我在这里完全处于黑暗之中。

0 投票
1 回答
353 浏览

python - amqp 交换类型

我正在进入整个 amqp 的事情,我有一个关于在以下场景下使用哪种类型的交换类型的问题:

1)我需要创建一个工人池,每个工人在收到消息时都会做一些事情。现在我希望不同的工作人员负责不同类型的任务;我可以通过以主题方式使用每条消息的路由键来指定。在消费者端,玩了一下kombu,我注意到如果我指定相同的队列名称但使用不同的路由键,我将无法“过滤”消息。例如,如果我有一个带有“#”的消费者和另一个带有“foo.#”的消费者——两者都使用相同的队列名称,后一个消费者将与前一个消费者在队列中循环工作。这是预期的吗?我在同一台机器上运行两个消费者。

2) 鉴于此,我为每个消费者构造了唯一的队列名称,这一次,每个消费者只得到我通过路由键请求的内容。但是,由于它们是不同的队列,我可能会在不止一个消费者中获得一项任务。例如,如果消费者 1 有键 '#',而消费者 2 有 'foo.#';当消费者 2 接收(并确认)一条消息时,消费者 1 也会收到相同的消息。这不是我想要的;我希望只有一个消费者只收到消息。有没有办法在不编写“任务管理器”的情况下实现这一目标?

干杯,

0 投票
1 回答
4261 浏览

django - django-celery (djcelery) 表有什么用?

当我运行 syncdb 时,我注意到创建了很多表,例如:

  • djcelery_crontabschedule
  • ...
  • djcelery_taskstate

django-kombu 提供传输,因此它与实际队列无关。即使当我运行任务时,我仍然看到这些表中没有填充任何内容。这些表是做什么用的?仅用于监控目的——如果我启用它?

如果是这样,如果我查找 AsyncResult(),我猜这实际上是通过 django-kombu 表而不是 djcelery 查找任务结果,这也是真的吗?

谢谢。

0 投票
1 回答
361 浏览

django - 使用 django 和 kombu 流式传输视图

我在kombu有两个队列;一个提交请求(做某事),另一个通过 pub/sub 吐出所述请求的增量状态。因此,在我的过程中,它将发布到请求队列并在响应队列中使用。由于任务可能需要一些时间,我想向用户提供有关后端发生的事情的反馈;这一切都在命令行上运行,因为我的 Kombuconsume回调允许我添加一条logging.info()语句以向我的用户吐回信息:

但是,我现在希望能够在 django 中提供相同的功能。我知道我可以创建一个generator函数作为HttpResponse对象的输入:

但我无法概念化如何将kombu队列的消息回调实现到生成器中来提供这个......有什么想法吗?

如果可能的话,我想避免使用数据库层来存储进度/结果。

0 投票
3 回答
687 浏览

redis - “排队”教程和文档?

我正在寻找概述“排队”的文章和参考资料(我可能在这里甚至没有使用正确的术语)。我希望通过 Redis、RabbitMQ、Celery、Kombu 以及我还没有读过的任何其他组件的世界,以及它们如何组合在一起,有一个介绍性风格的指南。

我的问题是我需要排队等待由我的 Django 网站发布的后台任务,并且我阅读的每篇博客和文章都推荐不同的解决方案。

0 投票
1 回答
4264 浏览

python - 使用具有多个线程的rabbitmq消息队列(Python Kombu)

我有一个带有单个队列的 RabbitMQ 交换。我希望创建一个运行多个线程并尽快通过该队列工作的守护进程。

“工作”涉及与外部服务的通信,因此每个消费者内部都会发生相当多的阻塞。因此,我想让多个线程都处理来自同一个队列的消息。

我可以通过在我的主线程上使用队列来实现这一点,然后将传入的工作转移到其他线程池中,但是有没有办法启动多个消费者,每个消费者都在自己的线程上下文中?

0 投票
1 回答
1762 浏览

transactions - Kombu 和 Rabbitmq 的 AMQP 交易

我似乎找不到任何关于通过Kombu api使用AMQP 事务的文档。此页面讨论了将消息附加到事务状态,但似乎并不相关。

我知道 pika 后端支持它们,我很确定 amqplib 后端(我目前正在使用)也支持,但我还没有看到它是如何在 Kombu 中公开的。

编辑:澄清一下,我正在寻找 channel.commit()、channel.select()、... 类型方法

0 投票
7 回答
24836 浏览

amazon-web-services - Celery with Amazon SQS

I want to use Amazon SQS as broker backed of Celery. There’s the SQS transport implementation for Kombu, which Celery depends on. However there is not enough documentation for using it, so I cannot find how to configure SQS on Celery. Is there somebody that had succeeded to configure SQS on Celery?

0 投票
1 回答
860 浏览

django - 芹菜减慢 django

我有一个使用 SQLite 的 django 1.3 站点。它运作良好。

我最近安装了 django-celery 和 django-kombu。我正在使用 supervisord 使用以下命令启动 celery dameon:

python manage.py celeryd -v 2 -B -s celery -E

一切正常,除了启动 celeryd 会使系统爬行。当我使用 top 时,我看到我正在创建一个长时间运行的 python 进程,它消耗了我共享服务器上 5% 到 10% 的 cpu。

在测试期间,我没有安排或运行芹菜任务。