fix: controller is already closed trpc subscription observable error (#743)

This commit is contained in:
Meier Lukas
2024-07-03 20:31:06 +02:00
committed by GitHub
parent f557fbbae1
commit 41dba7b516
6 changed files with 33 additions and 12 deletions

View File

@@ -21,14 +21,22 @@ export const cronJobsRouter = createTRPCRouter({
}),
subscribeToStatusUpdates: publicProcedure.subscription(() => {
return observable<TaskStatus>((emit) => {
let isConnectionClosed = false;
for (const job of jobGroup.getJobRegistry().values()) {
const channel = createCronJobStatusChannel(job.name);
channel.subscribe((data) => {
if (isConnectionClosed) return;
emit.next(data);
});
}
logger.info("A tRPC client has connected to the cron job status updates procedure");
return () => {
isConnectionClosed = true;
};
});
}),
});