如何将node.js用于队列处理应用程序

使用node.js作为队列处理应用程序时的最佳做法是什么?

我主要担心的是Node进程可以同时处理数千个项目,但是任何一个stream氓无法处理的错误都可能会导致整个过程。

我会找一个允许两阶段提交(我认为是错误的术语)的队列/驱动程序组合,即:

  1. 从队列中获取下一个适当的项目(然后阻止该项目在别处被使用)
  2. 一旦每个项目被移交给下游的服务/数据库/文件系统,你就可以告诉队列该项目已被处理

我还想要可重复的唯一标识符,以便您可以可靠地检测一个项目是否沿pipe道两次下来。 在一个理论体系中,它可能不会发生,但是在一个实际的环境中,处理它的能力会让你的生活更轻松。