gpt4 book ai didi

node.js - Node : Async job queue processing

转载 作者:可可西里 更新时间:2023-11-01 11:42:55 24 4
gpt4 key购买 nike

我在 nodejs 中使用 express 开发一个经常与 mongodb 通信的网络应用程序。目前,我使用自己的作业队列系统运行生产,该系统仅在前一个作业完成后才开始处理作业(kue 似乎采用了这种方法)。

对我来说,这似乎非常低效,我希望有一个更加异步的作业队列,所以我正在寻找一些关于其他 nodejs 开发人员如何对他们的作业进行排队和构建他们的处理的建议。

我的一个想法是处理任何立即收到的作业,并按添加顺序返回结果数据。

还要考虑:目前每个用户都有自己独立的作业队列实例,这是正常做法吗?有什么理由不应该这样吗? (即,所有用户都将作业发送到一个通用队列?)

如有任何意见/建议,我们将不胜感激。

最佳答案

为什么要构建自己的队列系统?您为使用 addLocalJob 序列化异步队列做了很多工作。

你为什么不做类似的事情

on('request', function(req, res) { queryDB(parameter, function(result) { res.send(result) })

?完全并行访问,没有限制,没有(异步)等待。如果您真的想在自己的代码中“手动”执行此操作,为什么不执行 trafficQueue 的前 n 个元素而不是仅执行第一个元素?

如果您想限制数据库 - 两种方式:

  • 使用类似async 的库和函数parallelLimit
  • 使用 http(s) 连接到您的 mongodb 并使用 Node 内置 http.globalAgent.maxSockets

希望这对您有所帮助。

关于node.js - Node : Async job queue processing,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21387400/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com