不理解Node.js中的子进程/分叉
我有以下代码:不理解Node.js中的子进程/分叉,node.js,child-process,Node.js,Child Process,我有以下代码: "use strict"; if(!process.env.CHECKDIN_AWS_KEY || !process.env.CHECKDIN_AWS_SECRET) { throw new Error('CHECKDIN AWS ENV vars must be set'); process.exit(); } else { console.log('Starting...'); var config = require('./config/c
"use strict";
if(!process.env.CHECKDIN_AWS_KEY || !process.env.CHECKDIN_AWS_SECRET) {
throw new Error('CHECKDIN AWS ENV vars must be set');
process.exit();
} else {
console.log('Starting...');
var config = require('./config/config'),
fs = require('fs'),
sqsQueueURLs = config.sqs.urls,
_ = require('underscore'),
mildsauce = require('./lib/mildsaucedb'),
tasks = [];
_.each(config.sqs.queues, function(item) {
var key = item.split("-").pop(),
tableName = config.dynamo[key],
params = {
QueueUrl: config.sqs.urls[key],
VisibilityTimeout: 60,
WaitTimeSeconds: 20
};
mildsauce.readMessage(params, key, tableName);
});
}
我需要做的是重写它,以便循环中的每个队列在其自己的子进程上运行。我已经阅读了NodeJS关于向后和向前分叉的文档,但似乎不知道如何做如果要为每个队列创建唯一的Node.js进程,请使用child_process.fork。使用fork可以在节点进程之间来回发送JSON消息
如果要创建的进程是非Node.js进程,请使用child_process.exec方法。Exec接受一个表示标准终端命令的字符串。Hmm。。基本上,现在发生的事情是,我的SQS队列正在填满,并且没有以合适的速度排出,所以我一直在玩多线程SQS队列排出过程的想法,但只是不确定如何做到这一点