add tracker server, esm, refactor

This commit is contained in:
Jurgis Sakalauskas
2024-05-07 10:22:24 +03:00
parent 416f048421
commit eead7ab522
17 changed files with 1224 additions and 57 deletions
+15 -3
View File
@@ -1,12 +1,24 @@
import { setPortFlow } from './set-port-flow';
import { settings } from './settings';
import { trackerServer } from './tracker/tracker';
import { kvDataStorage } from './services/kv-data-storage';
import { onTrackerAnnounce } from './tracker-announce-flow';
const isWorker = process.argv[2] === 'worker';
if (isWorker) {
//initial timeout is in case of a crash to not flood everything
console.log(`Starting worker, first check in ${settings.updateIntervalMs/1000}s`);
setTimeout(worker, settings.updateIntervalMs);
trackerServer.on('announce', onTrackerAnnounce);
const lastRun = kvDataStorage.get<number>('lastRun') || 0;
const sinceLastRun = Date.now() - lastRun;
if (sinceLastRun > settings.updateIntervalMs) {
console.log(`Starting worker, check now`);
worker();
} else {
console.log(`Starting worker, first check in ${(settings.updateIntervalMs - sinceLastRun)/1000}s`);
setTimeout(worker, settings.updateIntervalMs - sinceLastRun);
}
} else {
setPortFlow()
.then(() => console.log('All done'))