JSFiddle - React, Tailwind, and code Playground

by Denys Biliaiev

JavaScript

var redis = require("redis");
var client = redis.createClient();
var pid = 0;

if (process.argv[2] == 'getErrors') {
    getErrorMessages();
} else {
    init();
}

function init() {
    client.get("PID", function (err, res) {
        if (err) closeClient(err);

        if (res != null) {
            pid = parseInt(res) + 1;
        }

        client.set('PID', pid, function(err) {
            if (err) closeClient(err);
        });
    });

    client.get("generator", function(err, res) {
        if (err) closeClient(err);

        (res == null) ? initGenerator() : initListener();
    });
}

function initGenerator() {
    client.set('generator', pid, function (err) {
        if (err) closeClient(err);
    });

    console.log("init generator: " + pid);

    var generator = setInterval(function () {
        client.expire('generator', 1);
        var message = getMessage();

        client.sadd('messages', message,  function (err) {
            if (err) closeClient(err);
            console.log("Published message: " + message);
        });
    }, 500);
    //    if (message >= 5000) {
    //        clearInterval(generator);
    //        client.persist('generator');
    //    }
    //}, 0);
}

function initListener() {
    var message = '';

    var listen = setInterval(function () {
        client.spop('messages', function (err, res) {
            if (err) closeClient(err);

            if (res !== null) {
                console.log("received message: " + res);
                eventHandler(res, function(err1, res) {
                    if (err1)
                    {
                        console.log("error message: " + res);
                        client.sadd('error_messages', res,  function (err2) {
                            if (err2) closeClient(err);
                        });
                    }
                })
            }
        });

    }, 600);

    var checkGenerator = setInterval(function () {
        client.get('generator', function(err,...