问题标签 [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 投票
3 回答
12438 浏览

django - celery 单元测试的内存中代理

我有一个用 Django 编写的 REST API,其端点在发布到芹菜任务时对其进行排队。响应包含我想用来测试任务是否已创建并获得结果的任务 ID。所以,我想做类似的事情:

我显然不想让 celery worker 运行单元测试,我希望以某种方式模拟它。我不能使用CELERY_ALWAYS_EAGER因为这似乎完全绕过了代理,阻止我使用 AsyncResult 通过其 ID 获取任务(如此所述)。

通过 celery 和kombu docs,我发现有一个用于单元测试的内存传输,可以满足我的需求。我尝试覆盖BROKER_URL设置以在测试中使用它:

但行为与 ampq 代理相同:它阻止测试等待结果。任何想法我应该如何配置这个代理让它在测试中工作?

0 投票
1 回答
1425 浏览

rabbitmq - 为 HA rabbitmq 设置负载均衡器

我正在尝试使用镜像队列设置高可用性 RabbitMQ 集群。实际上,我已经设置好了,这很容易。现在是我的生产者和消费者需要访问集群的部分,或者特别是主节点,无论当时可能是哪个。我正在尝试为此设置 HAproxy,但我有一些关于它如何工作的问题。具体来说,HAproxy 在这里没有用作平衡器,而是用于进行健康检查。假设原来的主人倒下了,幸存的最年长的奴隶被提升为新主人?如何设置 HAproxy 来检测这是谁并将所有连接路由到新的主节点?

0 投票
0 回答
1389 浏览

python - 使用 AMQP、Kombu 和 gevent 的异步消息传递

我正在尝试在 python 中使用 gevents 创建异步 kombu 消费者。我看了这个视频https://www.youtube.com/watch?v=nGiBdcIQiMQ应该是哪个,但它并不完整,那些家伙一开始并没有表现出他们的承诺。我还发现了这个示例https://github.com/agoragames/haigha/blob/master/examples/gevent_hello.py对我来说非常有用,但我需要使用 Kombu 来实现它。有人有结合 Kombu 和 gevent 的经验吗?任何工作的 hello world 示例都会很棒。顺便说一句,我使用 RabbitMQ 作为 MQ。

0 投票
0 回答
895 浏览

python - Rabbitmq kombu 消费者队列在一段时间后失去与 Exchange 的绑定

我的 Kombu 创建的队列有一个奇怪的问题。一段时间后,他们只是停止接收消息。没有错误,但不再收到消息。当我取消绑定队列(从rabbitmq Web界面)并将其重新绑定到相同的交换和路由键时,一切都再次工作了一段时间......然后再次。

我在这里想念什么?我很乐意为此提供帮助。我想也许我应该添加心跳?别的东西?

这是监听器用来创建队列并监听它的类:

Rabbitmq 版本:3.2

0 投票
0 回答
263 浏览

python - Django Celery 在幼稚的时候抛出运行时警告

我使用 Django 1.6 和 Celery 3.1.11 运行在线游戏。Kombu 是 3.0.15。

最近我遇到了 Celery 和 DST 的问题,所以我决定在 UTC 上运行整个站点,这样我就不用担心时区了。

我的settings.py的相关部分:

现在,每当我发送任何延迟的任务时,我都会看到一堆 RuntimeWarnings 抱怨天真的日期时间。我进入了我的 settings.py 并将其变成了一个异常,这是导致的回溯:

如您所见,没有任何回溯是由于我的代码,所以我不知道如何继续。我只能留下警告(如果我没记错的话,Celery 将时间偏移默认设置为CELERY_TIMEZONEsettings.py 中的内容,无论如何这就是我想要的),但我的强迫症正向我尖叫着要解决这个问题。另外,我无法通过 ctrl-F 找到任何由于我的代码引起的警告。

有什么建议吗?

0 投票
2 回答
2864 浏览

python - Python Kombu - 阻塞

我正在使用 kombu 通过生产者/消费者模型来管理 RabbitMQ。我启动了我的生产者,它在一个队列中放置了 100 个作业(我只有一个队列和一个交换器)。我想同时启动多个消费者,并让每个消费者一次处理一项工作。不幸的是,消费者相互阻塞(即,当一个消费者从队列中获取工作时,其他消费者只是闲置)。如果我杀死了正在工作的消费者,那么其他消费者之一就会介入并开始工作。有没有办法让所有消费者同时运行,每个消费者处理队列中的不同作业?我的消费者代码如下:

0 投票
1 回答
175 浏览

python - Kombu 消费者作为旧货服务

我需要建立一个可以编程控制的 Kombu 消费者。我看到的所有示例都只是告诉您使用 ctrl-c 停止程序的琐碎示例。

我的主要应用程序作为 Twisted Thrift 服务运行,我想我可以以某种方式使用 Twisted reactor 来处理我的消费者内部的事件循环,但我不知道如何。

这是我的消费类。start_sumption() 部分很好,只是它是阻塞的,我不能从外部调用 stop_sumption()。

0 投票
2 回答
2332 浏览

rabbitmq - Kombu 可以发布并订阅多个消费者吗

使用 Kombu 和 RabbitMQ 实现经典的发布/订阅设计模式。我创建了一个创建主题的生产者:

然后我创建了一个消费者从发布者那里消费:

然后启动两个消费者,每个消费者在一个单独的终端中;两者都等待消息:

当我运行生产者时,只有一个消费者收到消息。

0 投票
1 回答
1449 浏览

python - Celery Flower 能够关闭 Worker 但无法重新启动它

我已经安装了 Celery、Django-Celery、Kombu 和 Flower。

芹菜花监测良好。它能够关闭工作人员但无法重新启动它们。

花回复:

0 投票
1 回答
1017 浏览

python - Mac OS 10.9.5 上的 kombu 运行时错误

尝试在 OS X 10.9.5 上使用 python 中的 Celery 时出现一个奇怪的错误。这曾经可以工作,但现在(显然)在导入 kombu.five 时无法使用某些 C 库。

我正在使用 python 2.7.8(通过安装brew install python)和最新版本的 celery 和 kombu(通过安装pip install celery)。有什么提示吗?

这是我的输出brew --config

以下是有关 ctypes 的更多输出: