nodejs中每个用户的队列任务

时间:2018-03-28 08:40:26

标签: javascript node.js mongodb queue acid

要求是用户可以同时执行许多操作(调用API),但是需要为每个用户按顺序运行一些操作。

等:用户点击按钮添加商品清除购物车同时,但在后端我们需要按顺序执行,完成每个阶段在行动中添加项目开始任何新阶段的行动清除购物车 一个阶段可以被称为其他服务的rest API,查询数据库或执行一些javascripts代码。

我正在考虑为每个用户创建一个队列作业来存档它。这是一个好主意吗?什么是最好的方法,有没有任何库(我已经搜索但找不到任何东西)?

P / s:我正在使用expressJS和MongoDB(> 4.0)。

编辑:

如果使用队列,我如何检测该用户是否已有队列还是不创建新队列?如果使用Redis我们可以满足竞争条件,或者当我将nodejs作为多集群运行时,ram中的变量无法帮助。

enter image description here

1 个答案:

答案 0 :(得分:0)

bluebird 将解决此问题

代码示例:

action1()
   .then(phase1)
   .then(phase2)
   .then(phase3);

action2()
    .then(phase1)
    .then(phase2);