From 678a1583039c01b5afe3d9c2b8bea32975c637f1 Mon Sep 17 00:00:00 2001 From: Johan Haals Date: Wed, 9 Nov 2022 16:02:10 +0100 Subject: [PATCH] chore: Rename options, add additional logging Signed-off-by: Johan Haals --- .../src/services/implementations/lifecycleService.ts | 12 ++++++++---- .../src/services/definitions/index.ts | 2 +- .../src/services/definitions/lifecycleServiceRef.ts | 4 ++-- 3 files changed, 11 insertions(+), 7 deletions(-) diff --git a/packages/backend-app-api/src/services/implementations/lifecycleService.ts b/packages/backend-app-api/src/services/implementations/lifecycleService.ts index 3549ec31f2..578bd9ca01 100644 --- a/packages/backend-app-api/src/services/implementations/lifecycleService.ts +++ b/packages/backend-app-api/src/services/implementations/lifecycleService.ts @@ -20,19 +20,23 @@ import { loggerToWinstonLogger, pluginMetadataServiceRef, rootLoggerServiceRef, - ShutdownHookOptions, + BackendLifecycleShutdownHook, } from '@backstage/backend-plugin-api'; import { Logger } from 'winston'; class BackendLifecycleImpl { constructor(private readonly logger: Logger) {} - #shutdownTasks: Array = []; + #shutdownTasks: Array = + []; - addShutdownHook(options: ShutdownHookOptions & { pluginId: string }): void { + addShutdownHook( + options: BackendLifecycleShutdownHook & { pluginId: string }, + ): void { this.#shutdownTasks.push(options); } async shutdown(): Promise { + this.logger.info(`Running ${this.#shutdownTasks.length} shutdown tasks...`); await Promise.all( this.#shutdownTasks.map(hook => hook @@ -57,7 +61,7 @@ class PluginScopedLifecycleImpl implements BackendLifecycle { private readonly lifecycle: BackendLifecycleImpl, private readonly pluginId: string, ) {} - addShutdownHook(options: ShutdownHookOptions): void { + addShutdownHook(options: BackendLifecycleShutdownHook): void { this.lifecycle.addShutdownHook({ ...options, pluginId: this.pluginId }); } } diff --git a/packages/backend-plugin-api/src/services/definitions/index.ts b/packages/backend-plugin-api/src/services/definitions/index.ts index 19f75ffeb5..cf997a344d 100644 --- a/packages/backend-plugin-api/src/services/definitions/index.ts +++ b/packages/backend-plugin-api/src/services/definitions/index.ts @@ -31,6 +31,6 @@ export { pluginMetadataServiceRef } from './pluginMetadataServiceRef'; export { lifecycleServiceRef } from './lifecycleServiceRef'; export type { BackendLifecycle, - ShutdownHookOptions, + BackendLifecycleShutdownHook, } from './lifecycleServiceRef'; export type { PluginMetadata } from './pluginMetadataServiceRef'; diff --git a/packages/backend-plugin-api/src/services/definitions/lifecycleServiceRef.ts b/packages/backend-plugin-api/src/services/definitions/lifecycleServiceRef.ts index 3e8dd31fd1..4fd9f8daae 100644 --- a/packages/backend-plugin-api/src/services/definitions/lifecycleServiceRef.ts +++ b/packages/backend-plugin-api/src/services/definitions/lifecycleServiceRef.ts @@ -19,7 +19,7 @@ import { createServiceRef } from '../system/types'; /** * @public **/ -export type ShutdownHookOptions = { +export type BackendLifecycleShutdownHook = { fn: () => Promise; }; @@ -30,7 +30,7 @@ export interface BackendLifecycle { /** * Register a function to be called when the backend is shutting down. */ - addShutdownHook(options: ShutdownHookOptions): void; + addShutdownHook(options: BackendLifecycleShutdownHook): void; } /**