@type {(code: number) => Promise }
(code)
| 24 | |
| 25 | /** @type {(code: number) => Promise<void>} */ |
| 26 | async function triggerWatchdog(code) { |
| 27 | const delay = watchdogDelays[watchdogCount]; |
| 28 | watchdogCount += 1; |
| 29 | |
| 30 | if (delay) { |
| 31 | // garbage collector |
| 32 | controller = undefined; |
| 33 | |
| 34 | console.log(`WATCHDOG: Waiting ${delay / 60000}min before next start try.`); |
| 35 | await new Promise((resolve) => setTimeout(resolve, delay)); |
| 36 | await start(); |
| 37 | } else { |
| 38 | process.exit(code); |
| 39 | } |
| 40 | } |
| 41 | |
| 42 | /** @type {() => Promise<void>} */ |
| 43 | async function restart() { |