【问题标题】:How to create and manage worker processes in NodeJS?如何在 NodeJS 中创建和管理工作进程?
【发布时间】:2012-02-14 13:13:57
【问题描述】:

例如,假设用户请求处理一些音频文件,那么 nodejs 当然不能进行密集处理,所以它应该将其卸载到工作进程。

这些工作人员可能需要能够发布/订阅事件,在他们死亡时重生,并且队列应该能够负载平衡、维护缓存并保持活动状态。我见过 0MQ 和其他喜欢它的人,但我不确定如何将它集成到 Web 应用程序中......

创建和管理这些工作进程的行业标准方法是什么?以及使用的工具是什么?

编辑:还有一件事:说音频处理需要很长时间,并且请求超时。除了增加超时时间之外,有没有办法解决这个问题?

编辑 2:所谓工人,我的意思是像 Heroku 工人测功机 - 他们是如何工作的?

【问题讨论】:

    标签: javascript node.js queue worker


    【解决方案1】:

    就我个人而言,我可能会做一些事情,比如将任务添加到 redis 数据库中。然后另一个进程(如果处理量很大,可能用不同的语言编写)订阅 redis 数据库中的该键并启动添加到其中的任务。它甚至可以自己管理一些工作线程。

    对于超时,您可以使用一个请求仅启动任务并使用另一个请求来获取结果(例如,如果结果尚不可用,则使用长轮询,或者甚至更好地通过 websockets 进行服务器推送)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-06-08
      • 1970-01-01
      • 1970-01-01
      • 2020-03-03
      • 1970-01-01
      • 2013-09-07
      • 2019-06-08
      • 1970-01-01
      相关资源
      最近更新 更多