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,...