当前位置: 首页 > 面试题库 >

我可以使用Java发送任务通过Rabbitmq来芹菜吗?

花和宜
2023-03-14
问题内容

我只碰了芹菜和Java两天。:(

现在,我有一个Java客户端通过Rabbitmq发送任务的任务。芹菜将是处理任务的工人。

我知道Python-> rabbitmq-> celery很容易。但是我可以通过java-> rabbitmq-> celery来做到这一点吗?

草案的想法是通过JSON序列化Java函数,然后通过Rabbitmq发送,然后通过celery处理。

最好有示例代码并可以直接运行

谢谢


问题答案:

您当然可以从Java通过RabbitMQ发送消息。有一个Java客户端库与RabbitMQ的接口-
http://www.rabbitmq.com/api-guide.html

此页面描述了Celery消息格式-http:
//docs.celeryproject.org/en/latest/internals/protocol.html。一种口味使用JSON,并且有许多现有的Java库可用于JSON读写。看到http://json.org

最好有示例代码并可以直接运行

你是对的。

上面链接的页面包括代码片段,RabbitMQ Java库提供了一些(小)示例。(至少,这就是页面所说的。)



 类似资料:
  • 我已经安装了以下版本的芹菜和拉比MQ- 芹菜3.1。6 rabbitmq 3.1。1. 我可以从PHP向默认队列发布任务- 我的worker模块是用python编写的- 我像这样管理芹菜工人和客户- 这很有效。我在终端窗口1中看到以下输出: 但是我想要不同的队列。为了演示,假设我只需要一个名为demo的队列。所以我像这样管理我的芹菜工人- 但它不起作用。任务未得到执行。我猜这可能是因为PHP代码将

  • 是否可以在Celery中使用不同的消息代理? 例如:我想使用PostgreSQL而不是RabbitMQ。

  • 问题内容: 我正在尝试将类的方法用作django-celery任务,并使用@task装饰器对其进行标记。阿南德·杰亚哈(Anand Jeyahar)询问,这里也描述了同样的情况。是这样的 问题是,即使我使用这样的类实例,也需要至少两个参数,这意味着指针未命中。 更多信息: 由于继承,我无法将类转换为 模块 方法在很大程度上依赖于类成员,所以我不能使它们成为 静态的 标记 类 与@task装饰任务,

  • 问题内容: 所以我正在使用node.js和socket.io。我有这个小程序,它接受文本框的内容并将其发送到node.js服务器。然后,服务器将其中继回其他连接的客户端。有点像聊天服务,但不完全是。 无论如何,如果用户键入价值2-10k的文本并尝试发送该文本,该怎么办?我知道我可以自己尝试一下,但是我正在寻找一个实用的最佳实践限制,即我可以通过一次发射处理多少数据。 问题答案: Node和sock

  • 我最近一直在用芹菜,我不喜欢它。它的配置是混乱的,过于复杂的,并且没有很好的文档记录。 我想从一个生产者向多个消费者发送带有芹菜的广播消息。使我困惑的是芹菜术语和底层传输rabbitMQ的术语之间的差异。 在RabbitMQ中,您可以使用单个扇出交换和多个队列来广播消息: 但在Celery中,术语都搞乱了:这里可以有一个广播队列,它向多个消费者发送消息: 我甚至不明白Celery广播队列应该如何工

  • 我正在开发一个应用程序,用户必须从列表中选择任意数量的国家,我必须通过多部分发送所选的名称。 但是,在所有的尝试中,我都得到了错误retrofit.retrofiterror:Part body不能为null。 我还提到,ChangeLog for refitfit提到“new:Support iterable and array参数使用OKHTTP的”,但是经过深入研究,我发现给定的示例相当混乱