This commit is contained in:
2020-04-24 18:32:20 +02:00
parent f9c21598b5
commit 6d43cbc725
4 changed files with 47 additions and 46 deletions

View File

@@ -5,12 +5,14 @@ import {ws2pWatcher} from "./watchers/ws2p/ws2p-watcher";
import {bmaWatcher} from "./watchers/bma/bma-watcher";
import {dprobeHeartbeat} from './watchers/dprobe/dprobe-heartbeat-watcher'
import {webDiffWatcher} from "./watchers/webdiff/webdiff-watcher";
import {ServiceState} from "./types/state";
export async function dwatch(confFile: string) {
const yml = fs.readFileSync(confFile, 'utf8')
const conf = yaml.load(yml) as Conf
const states: ServiceState[] = []
const watchers: () => Promise<>
await Promise.all((conf.ws2pServers || []).map(ws2pWatcher(conf)))
await Promise.all((conf.bmaServers || []).map(bmaWatcher(conf)))
await Promise.all((conf.dprobeHeartbeats || []).map(dprobeHeartbeat(conf)))

3
src/lib/types/state.ts Normal file
View File

@@ -0,0 +1,3 @@
export interface ServiceState {
state: 'INIT'|'OK'|'FAILURE'
}

View File

@@ -1,4 +1,6 @@
export async function watcherLoop(
import {ServiceState} from "./types/state";
export function watcherLoop(
connect: () => Promise<void>,
onConnectionClosed: () => Promise<void>,
reconnectionDelays: number[],
@@ -7,8 +9,9 @@ export async function watcherLoop(
onRestart: () => Promise<void>,
onRestartSuccess: () => Promise<void>,
onError: (e: Error) => Promise<void>,
) {
): ServiceState {
let state: ServiceState = { state: 'INIT' }
let hasStarted = false
;(async () => {