財務計算用の 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モジュールを使用する方法は?
試してみましたが、そのための正しいコードを書くことができませんでした。
前もって感謝します。クレイソン・リオス