add abort signal to some requests

This commit is contained in:
NlightN22 2025-01-17 02:17:08 +07:00
parent 5188dea80f
commit af9e424c7b
4 changed files with 11 additions and 6 deletions

View File

@ -106,10 +106,12 @@ export const proxyApi = {
hostName: string,
cameraName: string,
timezone: string,
abortSignal?: AbortSignal,
) =>
instanceApi.get<RecordSummary[]>(`proxy/${hostName}/api/${cameraName}/recordings/summary`, {
params: { timezone },
timeout: 5 * 60 * 1000,
signal: abortSignal
}).then(res => res.data),
// E.g. http://127.0.0.1:5000/api/events?before=1708534799&after=1708448400&camera=CameraName&has_clip=1&include_thumbnails=0&limit=5000
@ -125,6 +127,7 @@ export const proxyApi = {
includeThumnails?: boolean,
minScore?: number,
maxScore?: number,
abortSignal?: AbortSignal,
) =>
instanceApi.get<EventFrigate[]>(`proxy/${hostName}/api/events`, {
params: {
@ -140,6 +143,7 @@ export const proxyApi = {
max_score: maxScore,
},
timeout: 5 * 60 * 1000,
signal: abortSignal
}).then(res => res.data),
getEventsSummary: (hostName: string, cameraName: string) =>

View File

@ -27,9 +27,9 @@ const CameraAccordion = ({
const { data: recordings, isPending, isError, refetch } = useQuery({
queryKey: [frigateQueryKeys.getRecordingsSummary, camera?.id],
queryFn: () => {
queryFn: ({signal}) => {
if (camera && hostName) {
return proxyApi.getRecordingsSummary(hostName, camera.name, getResolvedTimeZone())
return proxyApi.getRecordingsSummary(hostName, camera.name, getResolvedTimeZone(), signal)
}
return null
}

View File

@ -53,7 +53,7 @@ const EventsAccordion = ({
const { data, isPending, isError, refetch } = useQuery({
queryKey: [frigateQueryKeys.getEvents, host, camera, day, hour, startTime, endTime],
queryFn: () => {
queryFn: ({signal}) => {
if (!isRequiredParams) return null
let queryStartTime: number
let queryEndTime: number
@ -84,7 +84,8 @@ const EventsAccordion = ({
parsed.data.limit,
parsed.data.includeThumnails,
parsed.data.minScore,
parsed.data.maxScore
parsed.data.maxScore,
signal
)
}
return null

View File

@ -30,11 +30,11 @@ const SelectedDayList = ({
const { data, isPending, isError, refetch } = useQuery({
queryKey: [frigateQueryKeys.getRecordingsSummary, recStore.filteredCamera?.id, day],
queryFn: async () => {
queryFn: async ({signal}) => {
if (camera && host) {
const hostName = mapHostToHostname(host)
if (hostName) {
return proxyApi.getRecordingsSummary(hostName, camera.name, getResolvedTimeZone())
return proxyApi.getRecordingsSummary(hostName, camera.name, getResolvedTimeZone(), signal)
}
}
return null