gpt4 book ai didi

Node.js 后台处理

转载 作者:搜寻专家 更新时间:2023-11-01 00:34:16 25 4
gpt4 key购买 nike

我是 Node.js 新手,所以请原谅这可能是一个天真的问题:) 我的问题是设置用 Node 编写的非 UI 作业的最佳方法是什么?我创建的任务用于基于 Azure 队列抓取一些 Web 内容(队列消息告诉作业要抓取哪些内容)。我在 Node 上看到的所有示例都更多地基于 UI 和请求,使用 http.createServer 并监听特定端口。虽然我可以完成这项工作,但这似乎不对,似乎我只需要创建某种 javascript setInterval 循环(或类似的东西)来不断查看我的队列。任何能够插入我朝着正确方向前进的建议或示例将不胜感激。

克里斯

最佳答案

我不太清楚你想要做什么,但 Node 根本不依赖于http堆栈。如果您只想启动 Node 并让它处理某些内容,那非常简单。您的 app.js 可以简单如下:

var queueWorker = require('worker');

var startWorker = function() {
if(queueWorker.hasWork()) {
queueWorker.processQueue(startWorker);
} else {
setTimeout(startWorker, 1000);
}
};

startWorker();

它所做的是设置一个工作循环,每秒都会检查是否有新工作,以及是否开始处理它。处理完工作后,返回到 1 秒间隔检查新工作。

您必须创建工作模块作为对 hasWork 的检查,并且所述工作的处理取决于应用程序。

如果您想要更花哨一点,processQueue 可以生成一个新的 Node 进程,该进程仅负责实际处理工作,然后您可以跟踪生成的工作线程数量与 CPU 限制,并拥有一个相对简单的 Node 在多个线程上处理数据的应用程序。

关于Node.js 后台处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9066715/

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