Rss Parser windows command prompt window sometimes closes

Viewed 14

we use it during the day, but when we are not at the computer, the rss feed window closes. I don't know why, very sad.

We use Rss Parser system, launcher bat file content:

cd "C:\radiobarfeed\feed" node index.js

windows command prompt running under nodejs starting under.

it works this way index.js file content:

    let Parser = require("rss-parser");
let parser = new Parser();
let feedList = [];
let selectedIndex = 0;
let maxLength = 0;

let updateFeedSecond = 30000; // 

const fs = require("fs");

const slugify = function (text) {
  var trMap = {
    ç: "c",
    ğ: "g",
    ş: "s",
    ü: "u",
    ı: "i",
    ö: "o",
    Ğ: "G",
    Ç: "C",
    Ş: "S",
    Ü: "U",
    İ: "I",
    Ö: "O",
  };
  for (var key in trMap) {
    text = text.replace(new RegExp("[" + key + "]", "g"), trMap[key]);
  }
  return text.replace(/[^-a-zA-Z0-9\s]+/gi, "");
};

const shuffleArray = (array) => {
  for (let i = array.length - 1; i > 0; i--) {
    const j = Math.floor(Math.random() * (i + 1));
    const temp = array[i];
    array[i] = array[j];
    array[j] = temp;
  }
};

const updateFeedList = async () => {
  let feed = await parser.parseURL("https://sourcesite.com/feed/");
  await new Promise((resolve, reject) => {
    feedList = [];
    feed.items.forEach((item) => {
      feedList.push(slugify(item.title));
    });
    fs.readFile("titles.txt", (err, data) => {
      if (data.toString().length > 0) {
        data
          .toString()
          .split("\n")
          .map((sent) => {
            feedList.push(slugify(sent));
          });
        //feedList = shuffleArray(feedList);
        resolve(true);
      } else {
        resolve(false);
      }
    });
  }).then((res) => {
    maxLength = feed.items.length - 1;
    feedList = feedList.sort((a, b) => 0.5 - Math.random());
    console.log(feedList);
  });
};

const updateTxt = (title) => {
  fs.writeFile("feed.txt", title, "utf8", (error) => {
    if (error) throw err;
  });
};

(async () => {
  await updateFeedList();
  setInterval(() => {
    updateTxt(feedList[selectedIndex]);
    if (selectedIndex === maxLength) {
      selectedIndex = 0;
    } else {
      selectedIndex++;
    }
  }, updateFeedSecond);

  setInterval(() => {
    updateFeedList();
  }, 30000);
})();

command line closes after a while Thank you very much for your support.

Kind Regarts.

0 Answers
Related