我正在构建一个连接到工作队列的 API,但我遇到了结构问题。我正在寻找的是通过 API 连接的工作队列的设计模式。
细节:
我正在使用 Node.js 服务器和 Express 创建一个接受请求并返回 JSON 的 API。这些请求可能需要很长时间来处理(非常数据密集),所以这就是我们使用排队系统(RabbitMQ)的原因。
例如,假设我向 API 发送了一个请求,该请求需要 15 分钟才能处理。Express API 格式化请求并将其放入 RabbitMQ (AMQP) 队列。下一个可用的工作人员将请求从队列中取出并开始处理它。完成后(在本例中为 15 分钟),它将数据保存到 MongoDB 中。.... 怎么办 .....
我的问题是,如何将完成的数据返回给 API 的调用者?调用者是一个完全独立的程序,它通过 Ajax 请求之类的方式联系 API。
工作人员会将处理后的数据保存到数据库中,但我无法推回原始调用程序。
有没有人有任何带有工作队列资源的 API?
谢谢,麻烦您了。