summaryrefslogtreecommitdiff
path: root/packages/backend/src
diff options
context:
space:
mode:
authorHazelnoot <acomputerdog@gmail.com>2024-12-08 19:19:28 +0000
committerHazelnoot <acomputerdog@gmail.com>2024-12-08 19:19:28 +0000
commita754a9947b5a409a443c7bca7ea8b47b86f3ed9b (patch)
tree6ca64eab6754024d180a1f3eb933625edee69a32 /packages/backend/src
parentmerge: Feat: Flash playback using Ruffle (!687) (diff)
parentSynchronize server startup (diff)
downloadsharkey-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>
Diffstat (limited to 'packages/backend/src')
-rw-r--r--packages/backend/src/boot/common.ts17
-rw-r--r--packages/backend/src/daemons/QueueStatsService.ts4
-rw-r--r--packages/backend/src/daemons/ServerStatsService.ts2
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);
}