moltedopus 2.3.6 → 2.3.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/heartbeat.js +17 -14
- package/package.json +1 -1
package/lib/heartbeat.js
CHANGED
|
@@ -55,7 +55,7 @@
|
|
|
55
55
|
* Restart hint → stdout as: RESTART:moltedopus [flags]
|
|
56
56
|
*/
|
|
57
57
|
|
|
58
|
-
const VERSION = '2.3.
|
|
58
|
+
const VERSION = '2.3.7';
|
|
59
59
|
|
|
60
60
|
// ============================================================
|
|
61
61
|
// IMPORTS (zero dependencies — Node.js built-ins only)
|
|
@@ -2796,6 +2796,7 @@ async function heartbeatLoop(args, savedConfig) {
|
|
|
2796
2796
|
log('---');
|
|
2797
2797
|
|
|
2798
2798
|
let lastKeepalive = Date.now();
|
|
2799
|
+
let lastTimestamp = Date.now();
|
|
2799
2800
|
let lastDeferKey = '';
|
|
2800
2801
|
let briefShown = false;
|
|
2801
2802
|
let isFirstConnect = true;
|
|
@@ -3319,19 +3320,16 @@ async function heartbeatLoop(args, savedConfig) {
|
|
|
3319
3320
|
if (jsonMode) {
|
|
3320
3321
|
console.log(JSON.stringify(data));
|
|
3321
3322
|
}
|
|
3322
|
-
// Alive
|
|
3323
|
+
// Alive tick — minimal '+' output, time shown every 15min
|
|
3323
3324
|
if (!lastKeepalive) lastKeepalive = Date.now();
|
|
3325
|
+
if (!lastTimestamp) lastTimestamp = Date.now();
|
|
3324
3326
|
if (Date.now() - lastKeepalive >= 60000) { // 60s
|
|
3325
|
-
|
|
3326
|
-
|
|
3327
|
-
|
|
3328
|
-
|
|
3329
|
-
|
|
3330
|
-
if (diff < 3600) breakAgo = ` | last break ${Math.floor(diff / 60)}m ago`;
|
|
3331
|
-
else if (diff < 86400) breakAgo = ` | last break ${Math.floor(diff / 3600)}h ago`;
|
|
3332
|
-
else breakAgo = ` | last break ${Math.floor(diff / 86400)}d ago`;
|
|
3327
|
+
if (Date.now() - lastTimestamp >= 900000) { // 15min
|
|
3328
|
+
process.stdout.write(' ' + new Date().toLocaleTimeString([], {hour: '2-digit', minute: '2-digit'}) + '\n');
|
|
3329
|
+
lastTimestamp = Date.now();
|
|
3330
|
+
} else {
|
|
3331
|
+
process.stdout.write('+');
|
|
3333
3332
|
}
|
|
3334
|
-
log(`--- ${statusMode} | #${cycle} | ${new Date().toLocaleTimeString()}${breakAgo} ---`);
|
|
3335
3333
|
lastKeepalive = Date.now();
|
|
3336
3334
|
}
|
|
3337
3335
|
} else if (showMode) {
|
|
@@ -3383,7 +3381,13 @@ async function heartbeatLoop(args, savedConfig) {
|
|
|
3383
3381
|
}
|
|
3384
3382
|
}
|
|
3385
3383
|
if (Date.now() - lastKeepalive >= 60000) {
|
|
3386
|
-
|
|
3384
|
+
if (!lastTimestamp) lastTimestamp = Date.now();
|
|
3385
|
+
if (Date.now() - lastTimestamp >= 900000) { // 15min
|
|
3386
|
+
process.stdout.write(' ' + new Date().toLocaleTimeString([], {hour: '2-digit', minute: '2-digit'}) + '\n');
|
|
3387
|
+
lastTimestamp = Date.now();
|
|
3388
|
+
} else {
|
|
3389
|
+
process.stdout.write('+');
|
|
3390
|
+
}
|
|
3387
3391
|
lastKeepalive = Date.now();
|
|
3388
3392
|
}
|
|
3389
3393
|
} else {
|
|
@@ -3673,9 +3677,8 @@ async function main() {
|
|
|
3673
3677
|
break;
|
|
3674
3678
|
|
|
3675
3679
|
case 'start':
|
|
3676
|
-
// moltedopus --start — server interval,
|
|
3680
|
+
// moltedopus --start — server interval, EXIT on break (parent reads output + restarts)
|
|
3677
3681
|
args['use-recommended'] = true;
|
|
3678
|
-
args['auto-restart'] = true;
|
|
3679
3682
|
return heartbeatLoop(args, savedConfig);
|
|
3680
3683
|
|
|
3681
3684
|
default:
|