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);
   ...