JSFiddle - React, Tailwind, and code Playground
by Abhisek DasGupta
JavaScript
var elasticsearch = require('elasticsearch');
const QA_URL = 'http://xx.xx.xx.xx:9200';
const STAGE_URL = 'http://xx.xx.xx.xx:9200';
const concurrency = 1000;
var remoteClient = new elasticsearch.Client({
host: STAGE_URL,
requestTimeout: 1000 * 60 * 60
});
var client = new elasticsearch.Client({
host: 'http://localhost:9200',
requestTimeout: 1000 * 60 * 60,
keepAlive: false
});
var esInfo = {
overAllCount: 0,
reqArr: [],
numRunningQueries: 0,
indexCounter: 0,
startIndex: 0,
responseCount: 0
}
function requestES(req, cb) {
var params = req._source;
var request = {
"index": "dkit",
"type": req._type,
"id": req._id,
"body": params,
"timeout": "30m",
"maxRetries": 10
};
client.index(request, function(error, response) {
esInfo.responseCount++;
cb(response);
});
}
function requestCallBack(resp) {
esInfo.numRunningQueries--;
esInfo.indexCounter++;
console.log(" === numRunningQueries ==== ", esInfo.numRunningQueries, " == indexCounter == ", esInfo.indexCounter);
fs.appendFileSync("log.txt", ' numRunningQueries ', esInfo.numRunningQueries, ' indexCounter: ', esInfo.indexCounter + "\n");
if (esInfo.numRunningQueries != 0) {
requestES(esInfo.reqArr[0][esInfo.indexCounter], requestCallBack);
} else {
console.log(" === DONE === ");
esInfo.reqArr = [];
esInfonumRunningQueries = 0;
esInfo.indexCounter = 0
esInfo.startIndex = esInfo.startIndex + concurrency;
setTimeout(function() {
if (esInfo.responseCount === esInfo.overAllCount) {
console.log(" ==== COMPLETED ALL DONE =====");
return
}
searchDocumentsInBatches(esInfo.startIndex);
}, 5000);
}
}
function sendRequestSequentially(requests) {
esInfo.numRunningQueries = requests.length;
esInfo.reqArr.push(requests);
...