我正在为财务计算实施 REST 服务。所以每个请求都应该是一个 CPU 密集型任务,我认为创建线程的最佳位置是在以下函数中:
exports.execute = function(data, params, f, callback) {
var queriesList = [];
var resultList = [];
for (var i = 0; i < data.lista.length; i++)
{
var query = (function(cod) {
return function(callbackFlow) {
params.paramcodneg = cod;
doCdaQuery(params, function(err, result)
{
if (err)
{
return callback({ERROR: err}, null);
}
f(data, result, function(ret)
{
resultList.push(ret);
callbackFlow();
});
});
}
})(data.lista[i]);
queriesList.push(query);
}
flow.parallel(queriesList, function() {
callback(null, resultList);
});
};
我不知道什么是最好的,在单独的线程中运行 flow.parallel 或在其自己的线程中运行 queriesList 的每个函数。什么是最好的?以及如何为此使用threads-a-gogo模块?
我已经尝试过,但无法为此编写正确的代码。
提前致谢。克莱森里奥斯。