Skip to content

Commit fe1d1c7

Browse files
authored
Merge pull request #4161 from RedisInsight/fe/bugfix/CR-189-read-recommendations
CR-189 add configuration to trigger recommendation fetch on set interval
2 parents 403775f + dc921df commit fe1d1c7

File tree

2 files changed

+19
-0
lines changed

2 files changed

+19
-0
lines changed

redisinsight/ui/src/config/default.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,8 @@ export const defaultConfig = {
3333
database: {
3434
defaultConnectionTimeout: intEnv('RI_CONNECTIONS_TIMEOUT_DEFAULT', 30_000),
3535
defaultTimeoutToGetInfo: intEnv('RI_TIMEOUT_TO_GET_INFO', 5_000),
36+
defaultTimeoutToGetRecommendations: intEnv('RI_TIMEOUT_TO_GET_RECOMMENDATIONS', 60_000),
37+
shouldGetRecommendations: booleanEnv('RI_SHOULD_GET_RECOMMENDATIONS', false),
3638
},
3739
app: {
3840
env: process.env.NODE_ENV,

redisinsight/ui/src/pages/instance/InstancePage.tsx

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,9 +26,15 @@ import { resetConnectedInstance as resetRdiConnectedInstance } from 'uiSrc/slice
2626
import { loadPluginsAction } from 'uiSrc/slices/app/plugins'
2727
import { appConnectivityError } from 'uiSrc/slices/app/connectivity'
2828
import { appFeatureFlagsFeaturesSelector } from 'uiSrc/slices/app/features'
29+
import { getConfig } from 'uiSrc/config'
2930
import InstancePageRouter from './InstancePageRouter'
3031
import InstanceConnectionLost from './instanceConnectionLost'
3132

33+
const riConfig = getConfig()
34+
35+
const { shouldGetRecommendations,
36+
defaultTimeoutToGetRecommendations } = riConfig.database
37+
3238
export interface Props {
3339
routes: any[]
3440
}
@@ -58,6 +64,13 @@ const InstancePage = ({ routes = [] }: Props) => {
5864
dispatch(getDatabaseConfigInfoAction(connectionInstanceId))
5965
dispatch(fetchConnectedInstanceInfoAction(connectionInstanceId))
6066
dispatch(fetchRecommendationsAction(connectionInstanceId))
67+
let intervalId: ReturnType<typeof setInterval>
68+
69+
if (shouldGetRecommendations) {
70+
intervalId = setInterval(() => {
71+
dispatch(fetchRecommendationsAction(connectionInstanceId))
72+
}, defaultTimeoutToGetRecommendations)
73+
}
6174

6275
if (contextInstanceId && contextInstanceId !== connectionInstanceId) {
6376
// rerender children only if the same page from scratch to clear all component states
@@ -73,6 +86,10 @@ const InstancePage = ({ routes = [] }: Props) => {
7386

7487
// clear rdi connection
7588
dispatch(resetRdiConnectedInstance())
89+
90+
return () => {
91+
intervalId && clearInterval(intervalId)
92+
}
7693
}, [connectionInstanceId])
7794

7895
useEffect(() => {

0 commit comments

Comments
 (0)