diff options
| author | Hazelnoot <acomputerdog@gmail.com> | 2024-12-08 19:19:28 +0000 |
|---|---|---|
| committer | Hazelnoot <acomputerdog@gmail.com> | 2024-12-08 19:19:28 +0000 |
| commit | a754a9947b5a409a443c7bca7ea8b47b86f3ed9b (patch) | |
| tree | 6ca64eab6754024d180a1f3eb933625edee69a32 | |
| parent | merge: Feat: Flash playback using Ruffle (!687) (diff) | |
| parent | Synchronize server startup (diff) | |
| download | sharkey-a754a9947b5a409a443c7bca7ea8b47b86f3ed9b.tar.gz sharkey-a754a9947b5a409a443c7bca7ea8b47b86f3ed9b.tar.bz2 sharkey-a754a9947b5a409a443c7bca7ea8b47b86f3ed9b.zip | |
merge: Synchronize app startup (!788)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/788
Approved-by: Marie <github@yuugi.dev>
Approved-by: dakkar <dakkar@thenautilus.net>
| -rw-r--r-- | packages/backend/src/boot/common.ts | 17 | ||||
| -rw-r--r-- | packages/backend/src/daemons/QueueStatsService.ts | 4 | ||||
| -rw-r--r-- | packages/backend/src/daemons/ServerStatsService.ts | 2 |
3 files changed, 12 insertions, 11 deletions
diff --git a/packages/backend/src/boot/common.ts b/packages/backend/src/boot/common.ts index ad59a55688..9ff1efb3c2 100644 --- a/packages/backend/src/boot/common.ts +++ b/packages/backend/src/boot/common.ts @@ -19,17 +19,18 @@ export async function server() { logger: new NestLogger(), }); - const serverService = app.get(ServerService); - await serverService.launch(); - if (process.env.NODE_ENV !== 'test') { - app.get(ChartManagementService).start(); + await app.get(ChartManagementService).start(); } if (!envOption.noDaemons) { - app.get(QueueStatsService).start(); - app.get(ServerStatsService).start(); + await app.get(QueueStatsService).start(); + await app.get(ServerStatsService).start(); } + // Start server last so the other services can register hooks first + const serverService = app.get(ServerService); + await serverService.launch(); + return app; } @@ -38,8 +39,8 @@ export async function jobQueue() { logger: new NestLogger(), }); - jobQueue.get(QueueProcessorService).start(); - jobQueue.get(ChartManagementService).start(); + await jobQueue.get(QueueProcessorService).start(); + await jobQueue.get(ChartManagementService).start(); return jobQueue; } diff --git a/packages/backend/src/daemons/QueueStatsService.ts b/packages/backend/src/daemons/QueueStatsService.ts index ede104b9fe..77fcd71337 100644 --- a/packages/backend/src/daemons/QueueStatsService.ts +++ b/packages/backend/src/daemons/QueueStatsService.ts @@ -33,7 +33,7 @@ export class QueueStatsService implements OnApplicationShutdown { * Report queue stats regularly */ @bindThis - public start(): void { + public async start(): Promise<void> { const log = [] as any[]; ev.on('requestQueueStatsLog', x => { @@ -82,7 +82,7 @@ export class QueueStatsService implements OnApplicationShutdown { activeInboxJobs = 0; }; - tick(); + await tick(); this.intervalId = setInterval(tick, interval); } diff --git a/packages/backend/src/daemons/ServerStatsService.ts b/packages/backend/src/daemons/ServerStatsService.ts index 6e9d29dcbd..2ab087477a 100644 --- a/packages/backend/src/daemons/ServerStatsService.ts +++ b/packages/backend/src/daemons/ServerStatsService.ts @@ -68,7 +68,7 @@ export class ServerStatsService implements OnApplicationShutdown { if (log.length > 200) log.pop(); }; - tick(); + await tick(); this.intervalId = setInterval(tick, interval); } |