increase timeout for neatqueue API, refactor error handling in refresh-history-by-date route

This commit is contained in:
2025-07-12 11:31:30 +02:00
parent 5c02fd6d57
commit c54ce4bec1
2 changed files with 14 additions and 11 deletions

View File

@@ -14,7 +14,7 @@ export async function POST(request: Request) {
try {
// Parse request body to get date range parameters
const body = await request.json().catch(() => ({}))
const body = await request.json().catch((e) => console.log(e))
const startDate = body.start_date
const endDate = body.end_date
@@ -26,16 +26,16 @@ export async function POST(request: Request) {
if (endDate) {
console.log(`End date: ${endDate}`)
}
await syncHistoryByDateRange(startDate, endDate)
} catch (err) {
console.error('history refresh by date range failed:', err)
return new Response('internal error', { status: 500 })
}
return Response.json({ success: true })
} catch (err) {
console.error('refresh failed:', err)
return new Response('internal error', { status: 500 })
}
}
}

View File

@@ -1,11 +1,11 @@
import { createTRPCRouter, publicProcedure } from '@/server/api/trpc'
import { db } from '@/server/db'
import { metadata, player_games, raw_history } from '@/server/db/schema'
import { neatqueue_service } from '@/server/services/neatqueue.service'
import { and, desc, eq, gt, lt, sql } from 'drizzle-orm'
import ky from 'ky'
import { chunk } from 'remeda'
import { z } from 'zod'
import { neatqueue_service } from '@/server/services/neatqueue.service'
export const history_router = createTRPCRouter({
getTranscript: publicProcedure
@@ -15,7 +15,7 @@ export const history_router = createTRPCRouter({
})
)
.query(async ({ input }) => {
return await neatqueue_service.get_transcript(input.gameNumber);
return await neatqueue_service.get_transcript(input.gameNumber)
}),
games_per_hour: publicProcedure
.input(
@@ -198,12 +198,15 @@ export async function syncHistoryByDateRange(
searchParams.end_date = end_date
}
const data = await ky
.get('https://api.neatqueue.com/api/history/1226193436521267223', {
const response = await ky.get(
'https://api.neatqueue.com/api/history/1226193436521267223',
{
searchParams,
timeout: 60000,
})
.json<any>()
timeout: 1000000,
}
)
const data = await response.json<any>()
const chunkedData = chunk(data.data, 100)
for (const chunk of chunkedData) {