我正在为我的 Node.js 应用程序使用集群。请参阅:https://nodejs.org/api/cluster.html
出于多种原因,这非常有用,但现在我面临挑战。我想向我的应用程序添加一个功能,该功能将 HTTP 请求发送到另一台服务器,然后获取响应、提取数据并将其保存在 MySQL 数据库中。
我遇到的问题是此功能将重复项插入我的数据库,因为它多次运行 HTTP 请求(一个用于我集群中的每个工作人员)。
当我的集群中有 4 个 worker 时,我如何才能只运行一次这个过程??
最佳答案
var events = require("events");
var emitter = new events.EventEmitter();
var author = "Slim Shady";
var title = "The real Slim Shady";
//an event listener
emitter.once("addAuthorTitle", function(author, title) {
console.log("Added Author and Title " + author + " - " + title);
});
//add record to db
// then emit an event
emitter.emit("addAuthorTitle", author, title);
emitter.emit("addAuthorTitle", author, title);
即使由于集群会发出 4 次,但函数只会执行一次
关于node.js - 如何让我的 Node.js 应用程序集群化以仅运行一次任务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55034691/