We have a similar thing (repeating verification that the authentication token is still valid), and we did the following.
"util" redux
export function startSessionTimer(store) {
const intervalId = setInterval(() => {
if ( ... ) {
store.dispatch( ... );
clearInterval(intervalId);
}
}, (15 * 60 * 1000));
}
, , .
const store = configureStore( ... );
startSessionTimer(store);