Add daily auto restart
This commit is contained in:
parent
b7f65b94b7
commit
a77c9e22f5
|
@ -1,5 +1,7 @@
|
||||||
{
|
{
|
||||||
"dbCompactionSchedule": "0 0 0,3,6,9 * * *",
|
"dbCompactionSchedule": "0 0 0,3,6,9 * * *",
|
||||||
|
"restartSchedule": "0 0 0 * * *",
|
||||||
|
"restartTimeout": 5000,
|
||||||
"website": "https://benji7425.github.io",
|
"website": "https://benji7425.github.io",
|
||||||
"discordInvite": "https://discord.gg/SSkbwSJ",
|
"discordInvite": "https://discord.gg/SSkbwSJ",
|
||||||
"debugIgnores": [
|
"debugIgnores": [
|
||||||
|
|
|
@ -0,0 +1,33 @@
|
||||||
|
const { fork } = require("child_process");
|
||||||
|
const CronJob = require("cron").CronJob;
|
||||||
|
const DiscordUtil = require("./Util.js");
|
||||||
|
// @ts-ignore
|
||||||
|
const InternalConfig = require("./internal-config.json");
|
||||||
|
|
||||||
|
let instance;
|
||||||
|
|
||||||
|
restart();
|
||||||
|
|
||||||
|
new CronJob(InternalConfig.restartSchedule, restart, null, true);
|
||||||
|
|
||||||
|
function restart() {
|
||||||
|
ensureKilledInstance()
|
||||||
|
.then(bootstrapNewInstance)
|
||||||
|
.catch(DiscordUtil.dateError);
|
||||||
|
}
|
||||||
|
|
||||||
|
function bootstrapNewInstance() {
|
||||||
|
instance = fork(process.argv[2]);
|
||||||
|
}
|
||||||
|
|
||||||
|
function ensureKilledInstance() {
|
||||||
|
return new Promise((resolve, reject) => {
|
||||||
|
if (instance) {
|
||||||
|
instance.kill();
|
||||||
|
DiscordUtil.dateLog(`Killed existing instance for scheduled restart in ${InternalConfig.restartTimeout / 1000} sec`);
|
||||||
|
setTimeout(resolve, InternalConfig.restartTimeout);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
resolve();
|
||||||
|
});
|
||||||
|
}
|
|
@ -1,9 +1,14 @@
|
||||||
{
|
{
|
||||||
"name": "discord-bot-rss-feed",
|
"name": "discord-bot-rss-feed",
|
||||||
"version": "3.2.2",
|
"version": "3.3.0",
|
||||||
"lockfileVersion": 1,
|
"lockfileVersion": 1,
|
||||||
"requires": true,
|
"requires": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
"@types/node": {
|
||||||
|
"version": "9.3.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/@types/node/-/node-9.3.0.tgz",
|
||||||
|
"integrity": "sha512-wNBfvNjzsJl4tswIZKXCFQY0lss9nKUyJnG6T94X/eqjRgI2jHZ4evdjhQYBSan/vGtF6XVXPApOmNH2rf0KKw=="
|
||||||
|
},
|
||||||
"acorn": {
|
"acorn": {
|
||||||
"version": "1.2.2",
|
"version": "1.2.2",
|
||||||
"resolved": "https://registry.npmjs.org/acorn/-/acorn-1.2.2.tgz",
|
"resolved": "https://registry.npmjs.org/acorn/-/acorn-1.2.2.tgz",
|
||||||
|
|
|
@ -3,9 +3,10 @@
|
||||||
"main": "app/index.js",
|
"main": "app/index.js",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"postinstall": "cd ./discord-bot-core && npm install",
|
"postinstall": "cd ./discord-bot-core && npm install",
|
||||||
"start": "node app/index.js --name=rss-feed"
|
"start": "node discord-bot-core/monitor.js ./app/index.js --name=rss-feed"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
"@types/node": "9.3.0",
|
||||||
"camo": "git+https://github.com/scottwrobinson/camo.git",
|
"camo": "git+https://github.com/scottwrobinson/camo.git",
|
||||||
"discord.js": "11.2.0",
|
"discord.js": "11.2.0",
|
||||||
"get-urls": "7.0.0",
|
"get-urls": "7.0.0",
|
||||||
|
|
Loading…
Reference in New Issue