refactor: manage monitor via gateway hooks
This commit is contained in:
23
plugin/hooks/gateway-stop.ts
Normal file
23
plugin/hooks/gateway-stop.ts
Normal file
@@ -0,0 +1,23 @@
|
||||
import { stopManagedMonitor } from '../core/managed-monitor';
|
||||
|
||||
export function registerGatewayStopHook(api: any, deps: {
|
||||
logger: any;
|
||||
getMetaPushInterval: () => ReturnType<typeof setInterval> | null;
|
||||
clearMetaPushInterval: () => void;
|
||||
stopCalendarScheduler: () => void;
|
||||
}) {
|
||||
const { logger, getMetaPushInterval, clearMetaPushInterval, stopCalendarScheduler } = deps;
|
||||
|
||||
api.on('gateway_stop', () => {
|
||||
logger.info('HarborForge plugin stopping');
|
||||
|
||||
const handle = getMetaPushInterval();
|
||||
if (handle) {
|
||||
clearInterval(handle);
|
||||
clearMetaPushInterval();
|
||||
}
|
||||
|
||||
stopCalendarScheduler();
|
||||
stopManagedMonitor(logger);
|
||||
});
|
||||
}
|
||||
Reference in New Issue
Block a user