Skip to content

Commit 7f4f9be

Browse files
✨ Stop fetching data every X seconds and do it only when requested (#374)
Signed-off-by: Carlos Feria <2582866+carlosthe19916@users.noreply.github.com>
1 parent 2927444 commit 7f4f9be

File tree

8 files changed

+11
-35
lines changed

8 files changed

+11
-35
lines changed

client/src/app/Constants.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@ export const RENDER_DATE_FORMAT = "MMM DD, YYYY";
66
export const RENDER_DATETIME_FORMAT = "MMM DD, YYYY | HH:mm:ss";
77
export const FILTER_DATE_FORMAT = "YYYY-MM-DD";
88

9+
export const DEFAULT_REFETCH_INTERVAL = 5000;
10+
911
export const TablePersistenceKeyPrefixes = {
1012
products: "pd",
1113
advisories: "ad",

client/src/app/pages/importer-list/importer-list.tsx

Lines changed: 1 addition & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -92,23 +92,7 @@ export const ImporterList: React.FC = () => {
9292
setSelectedRow(row);
9393
};
9494

95-
const [refetchInterval, setRefetchInterval] = React.useState(10000);
96-
const { importers, isFetching, fetchError } = useFetchImporters(
97-
false,
98-
refetchInterval
99-
);
100-
101-
// Fetch importers with more frecuency in case any is "running"
102-
React.useEffect(() => {
103-
const isSomeTaskRunning = importers.some(
104-
(item) => item.state === "running"
105-
);
106-
if (isSomeTaskRunning) {
107-
setRefetchInterval(5000);
108-
} else if (refetchInterval !== 10000) {
109-
setRefetchInterval(10000);
110-
}
111-
}, [importers]);
95+
const { importers, isFetching, fetchError } = useFetchImporters();
11296

11397
// Enable/Disable Importer
11498

client/src/app/pages/search/components/SearchMenu.tsx

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -65,22 +65,22 @@ function useAllEntities(filterText: string, disableSearch: boolean) {
6565
const {
6666
isFetching: isFetchingAdvisories,
6767
result: { data: advisories },
68-
} = useFetchAdvisories({ ...params }, true, disableSearch);
68+
} = useFetchAdvisories({ ...params }, disableSearch);
6969

7070
const {
7171
isFetching: isFetchingPackages,
7272
result: { data: packages },
73-
} = useFetchPackages({ ...params }, true, disableSearch);
73+
} = useFetchPackages({ ...params }, disableSearch);
7474

7575
const {
7676
isFetching: isFetchingSBOMs,
7777
result: { data: sboms },
78-
} = useFetchSBOMs({ ...params }, true, disableSearch);
78+
} = useFetchSBOMs({ ...params }, disableSearch);
7979

8080
const {
8181
isFetching: isFetchingVulnerabilities,
8282
result: { data: vulnerabilities },
83-
} = useFetchVulnerabilities({ ...params }, true, disableSearch);
83+
} = useFetchVulnerabilities({ ...params }, disableSearch);
8484

8585
const transformedAdvisories: IEntity[] = advisories.map((item) => ({
8686
id: `advisory-${item.uuid}`,

client/src/app/queries/advisories.ts

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,6 @@ export const AdvisoriesQueryKey = "advisories";
2828

2929
export const useFetchAdvisories = (
3030
params: HubRequestParams = {},
31-
refetchDisabled: boolean = false,
3231
disableQuery: boolean = false
3332
) => {
3433
const { data, isLoading, error, refetch } = useQuery({
@@ -39,7 +38,6 @@ export const useFetchAdvisories = (
3938
query: { ...requestParamsQuery(params) },
4039
});
4140
},
42-
refetchInterval: !refetchDisabled ? 5000 : false,
4341
enabled: !disableQuery,
4442
});
4543
return {

client/src/app/queries/importers.ts

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -11,17 +11,15 @@ import {
1111
listImporters,
1212
updateImporter,
1313
} from "@app/client";
14+
import { DEFAULT_REFETCH_INTERVAL } from "@app/Constants";
1415

1516
export const ImportersQueryKey = "importers";
1617

17-
export const useFetchImporters = (
18-
refetchDisabled: boolean = false,
19-
interval = 5000
20-
) => {
18+
export const useFetchImporters = (refetchDisabled: boolean = false) => {
2119
const { isLoading, error, refetch, data } = useQuery({
2220
queryKey: [ImportersQueryKey],
2321
queryFn: () => listImporters({ client }),
24-
refetchInterval: !refetchDisabled ? interval : false,
22+
refetchInterval: !refetchDisabled ? DEFAULT_REFETCH_INTERVAL : false,
2523
});
2624

2725
return {
@@ -136,7 +134,7 @@ export const useFetchImporterReports = (
136134
const { data, isLoading, refetch, error } = useQuery({
137135
queryKey: [ImportersQueryKey, id, "reports"],
138136
queryFn: () => listImporterReports({ client, path: { name: id } }),
139-
refetchInterval: !refetchDisabled ? 5000 : false,
137+
refetchInterval: !refetchDisabled ? DEFAULT_REFETCH_INTERVAL : false,
140138
});
141139

142140
return {

client/src/app/queries/packages.ts

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@ export const PackagesQueryKey = "packages";
1111

1212
export const useFetchPackages = (
1313
params: HubRequestParams = {},
14-
refetchDisabled: boolean = false,
1514
disableQuery: boolean = false
1615
) => {
1716
const { data, isLoading, error, refetch } = useQuery({
@@ -22,7 +21,6 @@ export const useFetchPackages = (
2221
query: { ...requestParamsQuery(params) },
2322
});
2423
},
25-
refetchInterval: !refetchDisabled ? 5000 : false,
2624
enabled: !disableQuery,
2725
});
2826

client/src/app/queries/sboms.ts

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,6 @@ export const SBOMsQueryKey = "sboms";
2828

2929
export const useFetchSBOMs = (
3030
params: HubRequestParams = {},
31-
refetchDisabled: boolean = false,
3231
disableQuery: boolean = false
3332
) => {
3433
const { data, isLoading, error, refetch } = useQuery({
@@ -38,7 +37,6 @@ export const useFetchSBOMs = (
3837
client,
3938
query: { ...requestParamsQuery(params) },
4039
}),
41-
refetchInterval: !refetchDisabled ? 5000 : false,
4240
enabled: !disableQuery,
4341
});
4442
return {

client/src/app/queries/vulnerabilities.ts

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@ export const VulnerabilitiesQueryKey = "vulnerabilities";
1515

1616
export const useFetchVulnerabilities = (
1717
params: HubRequestParams = {},
18-
refetchDisabled: boolean = false,
1918
disableQuery: boolean = false
2019
) => {
2120
const { data, isLoading, error, refetch } = useQuery({
@@ -26,7 +25,6 @@ export const useFetchVulnerabilities = (
2625
query: { ...requestParamsQuery(params) },
2726
});
2827
},
29-
refetchInterval: !refetchDisabled ? 5000 : false,
3028
enabled: !disableQuery,
3129
});
3230
return {

0 commit comments

Comments
 (0)