Fix new Frontend 10
This commit is contained in:
@@ -13,7 +13,13 @@ import type {
|
||||
SingleProductTrainingRequest,
|
||||
} from '../types';
|
||||
|
||||
export const useTraining = () => {
|
||||
interface UseTrainingOptions {
|
||||
disablePolling?: boolean; // New option to disable HTTP status polling
|
||||
}
|
||||
|
||||
export const useTraining = (options: UseTrainingOptions = {}) => {
|
||||
|
||||
const { disablePolling = false } = options;
|
||||
const [jobs, setJobs] = useState<TrainingJobResponse[]>([]);
|
||||
const [currentJob, setCurrentJob] = useState<TrainingJobResponse | null>(null);
|
||||
const [models, setModels] = useState<ModelInfo[]>([]);
|
||||
@@ -186,12 +192,19 @@ export const useTraining = () => {
|
||||
}
|
||||
}, []);
|
||||
|
||||
// Auto-refresh job status for running jobs
|
||||
useEffect(() => {
|
||||
// Skip polling if disabled or no running jobs
|
||||
if (disablePolling) {
|
||||
console.log('🚫 HTTP status polling disabled - using WebSocket instead');
|
||||
return;
|
||||
}
|
||||
|
||||
const runningJobs = jobs.filter(job => job.status === 'running' || job.status === 'pending');
|
||||
|
||||
if (runningJobs.length === 0) return;
|
||||
|
||||
console.log('🔄 Starting HTTP status polling for', runningJobs.length, 'jobs');
|
||||
|
||||
const interval = setInterval(async () => {
|
||||
for (const job of runningJobs) {
|
||||
try {
|
||||
@@ -203,8 +216,12 @@ export const useTraining = () => {
|
||||
}
|
||||
}, 5000); // Refresh every 5 seconds
|
||||
|
||||
return () => clearInterval(interval);
|
||||
}, [jobs, getTrainingJobStatus]);
|
||||
return () => {
|
||||
console.log('🛑 Stopping HTTP status polling');
|
||||
clearInterval(interval);
|
||||
};
|
||||
}, [jobs, getTrainingJobStatus, disablePolling]);
|
||||
|
||||
|
||||
return {
|
||||
jobs,
|
||||
|
||||
Reference in New Issue
Block a user