Tag: rabbitmq

Rabbit MQ事件并发和同步

在我们的开发过程中,我们遇到以下情况:产生事件链的事件按照一定的顺序产生:比如说创buildItem1,Update Item1,Finish Item1,Create Item2,Update Item2,Finish Item2。 请记住,项目1和2的事件是并行发送的。 我们需要为每个项目顺序处理项目1和2的事件,而不阻塞不相关的操作,例如创build项目1和创build项目2可以并行运行,而CreateItem1和更新项目1必须按顺序运行。 主要问题是我们如何才能实现这样的行为,而不是为每个项目创build一个专门的队列? 项目的数量是未知的。 有多个生产者和多个消费者处理事件。

我将如何阻止一个rabbitmq工作者的中间脚本?

如何构build我的应用程序node.js服务器将数据发送给一个python worker,然后启动一个不间断的脚本。 稍后使node.js服务器能够停止脚本并使工作者可以再次从队列中接收的方法是什么?

如何在nodejs上使用来自RabbitMQ的消息

我是一个试图在我的nodejs代码上实现RabbitMQ的新用户。 我已经提到了几个使用它的例子,但是如何用实时的例子还不清楚。 我正在尝试使用Rabbit MQ从队列中读取消息。 我怎样才能从nodejs的队列中读取消息? 提前致谢!

Node.js在脚本之间传输数据

我正在Hapi框架中开发一个node.js服务器。 我采用了RabbitMQ(amqp)排列我的任务。 但是,一旦发送请求,不是立即回复请求,而是将消息发送到实际function所在的Rabbit服务器。 然后,用户应该返回结果给(请求,回复)函数并让函数回复它。 现在我的解决scheme是在我的工作文件(amqp使用者所在位置)创build一个variables并将其导出。 然后在索引文件(我的主要脚本与路由处理程序),我导入variables。 一旦收到一个请求,它会发送一个消息给RabbitMQ服务器,服务器将改变这个variables。 然后,回到索引文件,脚本更新variables的值,然后回复它。 显然,由于asynchronous,程序回复了以前请求的结果。 我做了一些研究,发现我们不应该在脚本之间共享一些variables。 有没有人有办法解决吗? 我的目标是,我可以把我的amqp消费者的脚本。 一旦我运行脚本,消费者将准备好接收任何相应的消息。 然后在我的索引文件中,一旦收到一个请求,就会发送一个消息给RabbitMQ服务器。 然后它应该抓住消费者的结果并回复它。 以下是我的代码: index.ts import * as Joi from "joi"; import * as amqp from "amqplib/callback_api"; import * as waitUntil from "wait-until"; import * as repository from "./repository"; import * as worker from "./worker"; // defien variables from internal modules let greeter […]

节点js工作线程和rabbitmq用户是一样的吗?

这是为了获得更多关于如何将rabbitmq排队和节点js主/工作线程相结合的知识。

如何使用AMQP /节点处理大于100个消息

我们目前正在构build一个微型服务(Node v8.3.0),它必须消耗RabbitMQ(RabbitMQ 3.6.12,Erlang 19.2.1)每秒大约60-150条消息。 有时它像一个魅力,队列中没有剩余的消息。 但大多数情况下,这些消息都是卡住的,每秒只能处理5-20条消息,并累积到队列中的3M消息。 现在我们真的好奇如何处理与一个消费者的所有这些消息。 因为已经有一些Java消费者没有任何延迟地处理所有这些消息。 我们使用基于amqplib的 这个节点库 。 此外,处理程序立即确认传入的消息 – 业务逻辑是绝对asynchronous的。 所以即使没有任何业务逻辑, 交换机的types是topic ,它不是durable ,队列启用了auto-deletingfunction。 我们尝试禁用预取,预取= 1和100 ,没有任何成功。 所以.. 1)您使用哪个节点的AMQP / RabbitMQ库? 2)每秒处理多less条消息? 3)有没有进一步的改进/build议? 谢谢!

RabbitMQ消息在Node.JS?

我需要使用RabbitMQ发布和订阅Node.js中的队列 我已经在Ruby中完成了,但是我需要在Node.js中完成这个工作,而且我没有find任何资源。 有什么方法吗? 或图书馆,使其使用?

为追随者提供实时新闻馈送 – 哪些工具和语言?

我想实时地为Twitter这样的追随者实施新闻推送。 但是,我被困在哪些工具将是我的目的最好的。 解决scheme(复合解决scheme)应该是生产就绪的。 我试过node.js + socket.io + rabbitmq(node-ampq,rabbitJS),但节点经常崩溃…另一个解决scheme是Tornado + sockJS-tornadio,但是我不确定(并且知道Python不好)。 在深入研究代码之前,我只需要知道哪些工具可以用于我的目的,并且可以“真正”实时。 真的,我的意思是快速的请求响应。 我已经尝试了RabbitMQ + PHP API + Ajax,但它不是“真正”实时的,而是使用ajax而不是websockets。 新闻源的数据将会像“John更新其个人资料”,“Doe上传新文件”以及类似的内容。 谢谢!

如何用RabbitMQ和nodejs运行独立的java

我一直在努力把node.js放在我们的java web服务器前,以利用节点的asynchronous处理 – 做一些轻量级的处理和其他任务,最终socket.io。 应用程序的大部分实际工作都是用java完成的,到目前为止,我们一直使用jetty webserver来处理所有的请求。 我一直在考虑使用node-http-proxy来转发(可能修改的请求)。 经过进一步考虑,我意识到不是转发http请求,而是使用像RabbitMQ和node-amqp库这样的更强大的通信协议。 这也可以更好地支持从java通过节点和socket.io推回到浏览器。 我的问题是:现在,处理所有传入的请求与节点,是否有任何理由继续在docker运行Java? 如果没有,我应该直接从命令行上的main方法运行java代码吗? 最后,这种方法是否存在重大缺陷? 我们的应用程序是一个单一的页面应用程序,并超越第一个请求加载页面最初,所有进一步的调用只是restful json调用,应该很容易通过amqp转移。

处理node-amqp(node.js)中的独占队列订阅时出错

当您订阅独占队列(一次只允许一个消费者)时,node-amqp会在队列超额订阅(已经有消费者)时抛出exception。 我试过使用.on(“error”,cb)语法。 我试过错误域(节点0.10.0) 尝试/抓住显然没有工作 这是我的订阅线,但没什么特别的: queue.subscribe({ack: true, prefetchCount: 1, exclusive: exclusive}, cbExecute).addCallback((ok) -> listeners[type] = ok.consumerTag); 当使用队列时,会得到未处理的exception: ACCESS_REFUSED – queue 'respQ' in vhost 'brkoacph' in exclusive use 看看node-amqp里面的内容,我发现它们在模块内部实现了一个独立的任务队列,所以当发生错误时,任务在独立的上下文中运行。 有没有解决方法? …或者我只是做错了什么?