diff options
| author | Mohamed Bassem <me@mbassem.com> | 2025-03-09 13:22:18 +0000 |
|---|---|---|
| committer | Mohamed Bassem <me@mbassem.com> | 2025-03-09 13:22:36 +0000 |
| commit | 80a808048340f7f5e95e71c4ee649fdae7c8c565 (patch) | |
| tree | 746f98855915c91695a5747fc4281bdba268aee1 /packages/trpc/routers/admin.ts | |
| parent | f42a305fcbd68bf5983bdd75a784ea87e818fd2f (diff) | |
| download | karakeep-80a808048340f7f5e95e71c4ee649fdae7c8c565.tar.zst | |
feat: Move background jobs with the admin actions. Fixes #1083
Diffstat (limited to 'packages/trpc/routers/admin.ts')
| -rw-r--r-- | packages/trpc/routers/admin.ts | 25 |
1 files changed, 17 insertions, 8 deletions
diff --git a/packages/trpc/routers/admin.ts b/packages/trpc/routers/admin.ts index bfdcbd37..337f050c 100644 --- a/packages/trpc/routers/admin.ts +++ b/packages/trpc/routers/admin.ts @@ -32,6 +32,23 @@ export const adminAppRouter = router({ z.object({ numUsers: z.number(), numBookmarks: z.number(), + }), + ) + .query(async ({ ctx }) => { + const [[{ value: numUsers }], [{ value: numBookmarks }]] = + await Promise.all([ + ctx.db.select({ value: count() }).from(users), + ctx.db.select({ value: count() }).from(bookmarks), + ]); + + return { + numUsers, + numBookmarks, + }; + }), + backgroundJobsStats: adminProcedure + .output( + z.object({ crawlStats: z.object({ queued: z.number(), pending: z.number(), @@ -64,9 +81,6 @@ export const adminAppRouter = router({ ) .query(async ({ ctx }) => { const [ - [{ value: numUsers }], - [{ value: numBookmarks }], - // Crawls queuedCrawls, [{ value: pendingCrawls }], @@ -95,9 +109,6 @@ export const adminAppRouter = router({ // Feed queuedFeed, ] = await Promise.all([ - ctx.db.select({ value: count() }).from(users), - ctx.db.select({ value: count() }).from(bookmarks), - // Crawls LinkCrawlerQueue.stats(), ctx.db @@ -140,8 +151,6 @@ export const adminAppRouter = router({ ]); return { - numUsers, - numBookmarks, crawlStats: { queued: queuedCrawls.pending + queuedCrawls.pending_retry, pending: pendingCrawls, |
