diff --git a/hydro/entry/common.js b/hydro/entry/common.js index d98b8795f..5a37b4de0 100644 --- a/hydro/entry/common.js +++ b/hydro/entry/common.js @@ -103,6 +103,7 @@ async function lib(pending, fail) { } catch (e) { fail.push(i); console.error(`Lib Load Fail: ${i}`); + console.error(e); } } } diff --git a/hydro/handler/manage.js b/hydro/handler/manage.js index e62905aa0..a4090bb70 100644 --- a/hydro/handler/manage.js +++ b/hydro/handler/manage.js @@ -31,6 +31,11 @@ class SystemDashboardHandler extends SystemHandler { this.response.template = 'manage_dashboard.html'; this.response.body.path.push(['manage_dashboard', null]); } + + async postRestart() { + process.send({ event: 'restart' }); + this.back(); + } } class SystemModuleHandler extends SystemHandler { diff --git a/hydro/lib/markdown.js b/hydro/lib/markdown.js index 9f39ae791..eb7ef6218 100644 --- a/hydro/lib/markdown.js +++ b/hydro/lib/markdown.js @@ -23,6 +23,8 @@ const Mark = require('markdown-it-mark'); // :::warn This page requires javascript. ::: // :::record-pass Accepted ::: const Container = require('markdown-it-container'); +const Anchor = require('markdown-it-anchor'); +const TOC = require('markdown-it-table-of-contents'); require('prismjs/components/index'); @@ -45,6 +47,8 @@ class Markdown extends MarkdownIt { this.use(Imsize); this.use(Footnote); this.use(Mark); + this.use(Anchor); + this.use(TOC); const RE_CONTAINER = /^(note|warn|record-pending|record-progress|record-fail|record-pass|record-ignored)\s+(.*)$/; const CONTAINER_MAP = { note: ['
', ''], diff --git a/hydro/loader.js b/hydro/loader.js index 96c8e2bcc..70d845133 100644 --- a/hydro/loader.js +++ b/hydro/loader.js @@ -20,6 +20,25 @@ async function entry(config) { } } +async function stopWorker() { + cluster.disconnect(); +} + +async function startWorker() { + for (let i = 0; i < numCPUs; i++) { + cluster.fork(); + } +} + +async function messageHandler(worker, msg) { + if (msg.event && msg.event === 'restart') { + console.log('Restarting'); + await stopWorker(); + console.log('Worker stopped'); + await startWorker(); + } +} + async function load() { global.nodeModules = { bson: require('bson'), @@ -65,9 +84,8 @@ async function load() { cluster.on('online', (worker) => { console.log(`Worker ${worker.process.pid} is online`); }); - for (let i = 0; i < numCPUs; i++) { - cluster.fork(); - } + cluster.on('message', messageHandler); + await startWorker(); } else { console.log(`Worker ${process.pid} Starting`); await entry({ entry: 'worker' }); diff --git a/manager/daemon.js b/manager/daemon.js deleted file mode 100644 index 09cf49ff9..000000000 --- a/manager/daemon.js +++ /dev/null @@ -1,7 +0,0 @@ -const fs = require('fs'); -const path = require('path'); -const child = require('child_process'); - -const appPath = path.resolve(__dirname, '..', 'hydro', 'development.js'); - -const app = child.fork(appPath); diff --git a/module/html2md/hydro.json b/module/html2md/hydro.json deleted file mode 100644 index b8edffbfd..000000000 --- a/module/html2md/hydro.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "id": "html2md", - "version": "0.0.1", - "description": "Convert html to markdown" -} \ No newline at end of file diff --git a/module/html2md/lib.js b/module/html2md/lib.js deleted file mode 100644 index b37cf973a..000000000 --- a/module/html2md/lib.js +++ /dev/null @@ -1,26 +0,0 @@ -const RE_IMG = /
/gmi, '').replace(/<\/p>/gmi, ' ')
- .replace(/{{ _('Information') }}
+
diff --git a/yarn.lock b/yarn.lock
index 54e7964bd..6669d2b3d 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -2433,6 +2433,11 @@ map-visit@^1.0.0:
dependencies:
object-visit "^1.0.0"
+markdown-it-anchor@^5.3.0:
+ version "5.3.0"
+ resolved "https://registry.yarnpkg.com/markdown-it-anchor/-/markdown-it-anchor-5.3.0.tgz#d549acd64856a8ecd1bea58365ef385effbac744"
+ integrity sha512-/V1MnLL/rgJ3jkMWo84UR+K+jF1cxNG1a+KwqeXqTIJ+jtA8aWSHuigx8lTzauiIjBDbwF3NcWQMotd0Dm39jA==
+
markdown-it-container@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/markdown-it-container/-/markdown-it-container-3.0.0.tgz#1d19b06040a020f9a827577bb7dbf67aa5de9a5b"
@@ -2460,6 +2465,11 @@ markdown-it-mark@^3.0.0:
resolved "https://registry.yarnpkg.com/markdown-it-mark/-/markdown-it-mark-3.0.0.tgz#27c3e39ef3cc310b2dde5375082c9fa912983cda"
integrity sha512-HqMWeKfMMOu4zBO0emmxsoMWmbf2cPKZY1wP6FsTbKmicFfp5y4L3KXAsNeO1rM6NTJVOrNlLKMPjWzriBGspw==
+markdown-it-table-of-contents@^0.4.4:
+ version "0.4.4"
+ resolved "https://registry.yarnpkg.com/markdown-it-table-of-contents/-/markdown-it-table-of-contents-0.4.4.tgz#3dc7ce8b8fc17e5981c77cc398d1782319f37fbc"
+ integrity sha512-TAIHTHPwa9+ltKvKPWulm/beozQU41Ab+FIefRaQV1NRnpzwcV9QOe6wXQS5WLivm5Q/nlo0rl6laGkMDZE7Gw==
+
markdown-it@^10.0.0:
version "10.0.0"
resolved "https://registry.yarnpkg.com/markdown-it/-/markdown-it-10.0.0.tgz#abfc64f141b1722d663402044e43927f1f50a8dc"