amqp相关内容
我正在使用Celery处理多个数据挖掘任务.这些任务之一连接到远程服务,该服务最多允许每用户最多10个同时连接 (或换句话说,它 CAN 在全球范围内超过10个连接,但每个单独的作业不能超过10个连接). 我认为 令牌桶(速率限制)是我正在寻找的东西,但似乎找不到任何实现. 解决方案 经过大量研究,我发现Celery没有明确提供限制此类并发实例数量的方法,而且这样做通常被认为是不好的
..
所以我将Hystrix-AMQP的依赖项添加到了我的服务中,并且日志文件发疯了,它只是继续记录指标内容.我需要那个jar才能真正将其与turbo-AMQP一起使用. 这是我对hystrix的认可:- compile ("org.springframework.cloud:spring-cloud-starter-hystrix:1.0.6.RELEASE") com
..
我有交流和排队.生产者不需要消费确认,但是在某些情况下,由于缺少其他数据,消费者当前可能无法处理消息.因此,我想将这些消息返回到队列末尾.这该怎么做?还是我拒绝邮件时自动完成? 流量: Message1被消耗并在数据库中创建一些记录. Message2被消耗,并检查数据库中是否有记录,如果是,则更新记录.如果数据库中没有记录,则应将消息返回到队列末尾. 因此,存在消息排序问题,
..
我正在尝试使用 nodeamqp10 从"Azure服务总线"队列中“窥视"消息库,但是很遗憾,我无法这样做. 这是我正在使用的代码: const AMQPClient = require('amqp10/lib').Client, Policy = require('amqp10/lib').Policy; const protocol = 'amqps'; const keyNa
..
是否可以使多个使用者在RabbitMQ中共享一个队列?根据我的观察,我目前正在使用 php库与RabbitMQ一起使用,尽管我有2个相同的消费者脚本实例正在运行,但是只有一个实例会响应所传递的消息... 解决方案 如果您希望两个使用者都看到所有消息,请给每个使用者自己的(可能是私有的)队列,并将它们都绑定到同一交换机上.
..
一个非常简单的问题,也许- 我经常看到在我的系统上运行的celery任务进程在使用celery.task.control.inspect()的active()方法时找不到.通常,此过程将运行几个小时,我担心这是某种僵尸.通常,它也会占用大量内存. 有没有办法通过linux pid查找任务?芹菜或AMPQ结果后端会保存吗? 如果不是,是否有其他方法可以确定正在消耗内存的任务是什么?
..
我和一位同事正在使用Spring开发一个应用程序,该应用程序需要从RabbitMQ队列中获取消息.这样做的目的是使用(通常是出色的)spring注释系统来使代码易于理解.我们让系统使用@RabbitListner批注工作,但我们希望按需获取消息. @RabbitListner批注不会执行此操作,它仅在可用时接收消息.需求由客户端的“就绪"确定,即客户端应从队列停止列表中“获取"消息并处理该消息.然
..
在C#rabbitMQ库中创建连接时,我试图使用IList参数: 我的代码如下: private IConnection CreateConnection() { var connectionFactory = new ConnectionFactory { UserName = _userName
..
我想知道...我如何从php发送文件到Rabbitmq队列. 我已经通过许多例子,其中大多数没有工作. 以下是一个即将开始运作的消费者生产者示例. 下面是一个Publisher.php
..
我有一个直接交流中心.还有一个队列,绑定到此交换. 该队列有两个使用者.使用者完成相应的处理后,便会手动确认消息. 消息在逻辑上是按顺序排列/排序的,应按该顺序进行处理.是否可以强制要求在消费者A和消费者B之间依次接收和处理所有消息?换句话说,请防止A和B同时处理邮件. 注意:消费者不共享相同的连接和/或渠道.这意味着我不能使用.basicQoS(1);.
..
如何指示RabbitMQ进程(epmd和beam.smp)仅侦听回送接口(127.0.0.1)? 解决方案 您肯定可以-编辑/etc/rabbitmq/rabbitmq.conf并添加以下行: NODE_IP_ADDRESS = 127.0.0.1 您可能还想添加: NODENAME =兔子@本地主机 这会将您的节点设置为在本地主机上侦听.
..
从我看到的情况来看,任务状态完全取决于为CELERY_TASK_RESULT_EXPIRES设置的值-如果我在任务完成执行后的此间隔内检查任务状态,则返回的状态为: AsyncResult(task_id).state 是正确的.如果没有,状态将不会更新,并将永远保持挂起状态. 谁能解释我为什么会这样?这是功能还是错误? 为什么即使我忽略结果,任务状态也取决于结果的到期时间?
..
我刚开始使用Celery/AMQP,并试图提出一个任务/队列/工作人员设计以满足以下要求. 我有多种类型的“每用户"任务:例如TaskA,TaskB,TaskC.这些“每用户"任务中的每一项都为系统中的一个特定用户读取/写入数据.因此,在任何给定时间,我可能需要创建任务User1_TaskA,User1_TaskB,User1_TaskC,User2_TaskA,User2_TaskB等.类
..
我是Spring Boot的新手,我正在玩它.目前,我已经构建了一些应用,希望能够通过队列相互通信. 我目前有一个侦听器对象,可以从特定队列接收消息. @Configuration public class Listener { final static String queueName = "myqueue"; @Bean SimpleMessageListen
..
我正在尝试在RabbitMQ中实现dlx队列. 场景很简单 我有2个队列: 1)活着 2)已死亡(x-dead-letter-exchange:“立即",x-message-ttl:5000) 和绑定到1)的交换“即时" 我尝试运行此示例: http://blog.james-carr .org/2012/03/30/rabbitmq-sending-a-message-to-cons
..
是否有一种方法可以从使用者那里获取在队列中放置消息时的时间戳记. 不是它何时发布,而是它何时真正进入队列. 解决方案 没有办法解决这个问题,除非您声明自己为此编写了一个插件. AMQP 规范中没有任何内容表明该消息必须知道它何时到达队列. 从AMQP的角度来看,没有必要知道这一点.在很多情况下,邮件可能会通过多个队列,然后哪个队列应该代表相关的时间戳?
..
所以我将Celery与RabbitMQ一起使用.我有一个注册用户的RESTful API.我正在使用远程Celery worker异步发送注册电子邮件,因此我的API可以返回快速响应. from .tasks import send_registration_email def register_user(user_data): # save user to the databas
..
我需要创建一个具有Web前端的项目,以管理同步任务执行(ala结构),异步任务(AMQP)和长轮询/ajax,以表格形式查看结果和队列/频繁变化的大型数据集(认为tail -f syslog).我有一个用于许多实现特定内容的现有Python代码库. 看了一堆现有框架后,最明显的答案似乎是Django + Celery.但是,我不不想“学习Django",也不需要95%的功能.我只需要简单的a
..
AMQP函数consumer()是一个带有回调的阻塞函数, 是否可以为consumer()函数设置一个超时时间,以便在经过指定的时间后不再阻塞并且代码执行完成? 解决方案 是的,方法如下: $amqp = new AMQPConnection($your_connection_params); $amqp->setTimeout($seconds); 然后,当您在队列上调用co
..
我们正在尝试在Node应用程序中使用Azure Service Bus. 我们的要求是从队列中提取多条消息. 由于Azure Node的SDK不支持批量检索,因此我们决定使用AMQP.虽然我们可以按照此处所述使用“查看邮件"来获取邮件(我们注意到的是,一旦获取消息,它们就会从队列中删除.我想知道是否有人了解我们如何使用AMQP和Node以"PeekLock"模式获取消息.对于AMQP,我们使
..