【发布时间】:2020-04-16 18:43:55
【问题描述】:
我们有一个 Node 应用程序,一部分 Node 代码作为后台作业运行。这项工作正在使用BullMQ,它是用 JavaScript 编写的,并在后台使用 Redis。
我们正在将一些 Node 应用程序移植到 Rails。但是,我想保留后台作业,按原样用 Node 编写。
有没有可能:
- Rails 中的路由、接受请求、安排作业并将其推送到 Redis 队列?
- 作业是否由使用 Node/JavaScript 编写的工作人员处理?
- 是否让 Rails 监听队列(Websocket 或长轮询)并在完成时将结果发送到浏览器?
换句话说,有没有独立于语言的 Redis / Queue 系统?
+-------------+
| |
| |
| REDIS QUEUE |
+----------------+ |
| | |
| | +^--+
| +---------------+ |
+---------+ | ^ | |
| | +-------v--+ | | |
| browser +--------------+ +--------------------+ | |
| <--------------+ Rails | | |
+---------+ | | | |
+----------+ +---------v----+
| |
| |
| NODE worker |
| |
| |
+--------------+
我对 Node 中的 Jobs/Queue 比 Rails 更熟悉。我看到了很多像 SideKick 和 Resque 这样的选项,但似乎工作人员大多是用 Ruby 编写的。
【问题讨论】:
标签: javascript node.js ruby-on-rails ruby