diff --git a/apps/backend/scripts/process_events.sh b/apps/backend/scripts/process_events.sh new file mode 100644 index 0000000..ab2941e --- /dev/null +++ b/apps/backend/scripts/process_events.sh @@ -0,0 +1,10 @@ +#!/bin/sh +set -e # Exit on any error + +echo "Starting Process Events job..." +if curl -sS -f --connect-timeout 30 --max-time 300 "http://web:3000/api/trpc/eventQueue.processEvents"; then + echo "Process Events job completed successfully" +else + echo "Process Events job failed" >&2 + exit 1 +fi diff --git a/apps/infoalloggi/src/server/api/routers/event_queue.ts b/apps/infoalloggi/src/server/api/routers/event_queue.ts index 2a63e25..99fe462 100644 --- a/apps/infoalloggi/src/server/api/routers/event_queue.ts +++ b/apps/infoalloggi/src/server/api/routers/event_queue.ts @@ -1,7 +1,7 @@ import { z } from "zod/v4"; import { + apiProcedure, createTRPCRouter, - protectedApiProcedure, publicProcedure, } from "~/server/api/trpc"; import { @@ -21,7 +21,7 @@ export const eventQueueRouter = createTRPCRouter({ .mutation(async ({ input }) => { return await addEventToQueue(input); }), - processEvents: protectedApiProcedure.query(async () => { + processEvents: apiProcedure.query(async () => { return await processEvents(); }), }); diff --git a/apps/infoalloggi/src/server/controllers/event_queue.controller.ts b/apps/infoalloggi/src/server/controllers/event_queue.controller.ts index b24f1b6..fd93ec9 100644 --- a/apps/infoalloggi/src/server/controllers/event_queue.controller.ts +++ b/apps/infoalloggi/src/server/controllers/event_queue.controller.ts @@ -70,7 +70,7 @@ const getEventsFromQueue = async () => { export const processEvents = async () => { const events = await getEventsFromQueue(); if (events.length === 0) { - return; + return { message: "No events to process" }; } for (const e of events) { const data = e.data as EventDataTypes; @@ -93,4 +93,5 @@ export const processEvents = async () => { .where("event_id", "=", e.event_id) .execute(); } + return { message: `${events.length} events processed` }; };