Implement smart polling recovery after document scan completion
• Add 15-second recovery timer • Restore intelligent intervals
This commit is contained in:
parent
e064534941
commit
e566267a20
1 changed files with 12 additions and 2 deletions
|
|
@ -532,15 +532,25 @@ export default function DocumentManager() {
|
||||||
// Reset health check timer with 1 second delay to avoid race condition
|
// Reset health check timer with 1 second delay to avoid race condition
|
||||||
useBackendState.getState().resetHealthCheckTimerDelayed(1000);
|
useBackendState.getState().resetHealthCheckTimerDelayed(1000);
|
||||||
|
|
||||||
// Schedule a health check 2 seconds after successful scan
|
// Start fast refresh with 2-second interval immediately after scan
|
||||||
startPollingInterval(2000);
|
startPollingInterval(2000);
|
||||||
|
|
||||||
|
// Set recovery timer to restore normal polling interval after 15 seconds
|
||||||
|
setTimeout(() => {
|
||||||
|
if (isMountedRef.current && currentTab === 'documents' && health) {
|
||||||
|
// Restore intelligent polling interval based on document status
|
||||||
|
const hasActiveDocuments = (statusCounts.processing || 0) > 0 || (statusCounts.pending || 0) > 0;
|
||||||
|
const normalInterval = hasActiveDocuments ? 5000 : 30000;
|
||||||
|
startPollingInterval(normalInterval);
|
||||||
|
}
|
||||||
|
}, 15000); // Restore after 15 seconds
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
// Only show error if component is still mounted
|
// Only show error if component is still mounted
|
||||||
if (isMountedRef.current) {
|
if (isMountedRef.current) {
|
||||||
toast.error(t('documentPanel.documentManager.errors.scanFailed', { error: errorMessage(err) }));
|
toast.error(t('documentPanel.documentManager.errors.scanFailed', { error: errorMessage(err) }));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}, [t, startPollingInterval])
|
}, [t, startPollingInterval, currentTab, health, statusCounts])
|
||||||
|
|
||||||
// Handle page size change - update state and save to store
|
// Handle page size change - update state and save to store
|
||||||
const handlePageSizeChange = useCallback((newPageSize: number) => {
|
const handlePageSizeChange = useCallback((newPageSize: number) => {
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue