aboutsummaryrefslogtreecommitdiffstats
path: root/packages
diff options
context:
space:
mode:
authorMohamed Bassem <me@mbassem.com>2025-03-09 13:22:18 +0000
committerMohamed Bassem <me@mbassem.com>2025-03-09 13:22:36 +0000
commit80a808048340f7f5e95e71c4ee649fdae7c8c565 (patch)
tree746f98855915c91695a5747fc4281bdba268aee1 /packages
parentf42a305fcbd68bf5983bdd75a784ea87e818fd2f (diff)
downloadkarakeep-80a808048340f7f5e95e71c4ee649fdae7c8c565.tar.zst
feat: Move background jobs with the admin actions. Fixes #1083
Diffstat (limited to 'packages')
-rw-r--r--packages/trpc/routers/admin.ts25
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,