asd
This commit is contained in:
@@ -55,9 +55,23 @@ export default function ImageQueueModal({
|
||||
useEffect(() => {
|
||||
if (!isOpen || !taskId) return;
|
||||
|
||||
let pollAttempts = 0;
|
||||
const maxPollAttempts = 300; // 5 minutes max (300 * 1 second)
|
||||
|
||||
const pollInterval = setInterval(async () => {
|
||||
pollAttempts++;
|
||||
|
||||
// Stop polling after max attempts
|
||||
if (pollAttempts > maxPollAttempts) {
|
||||
console.warn('Polling timeout reached, stopping');
|
||||
clearInterval(pollInterval);
|
||||
return;
|
||||
}
|
||||
|
||||
try {
|
||||
console.log(`[ImageQueueModal] Polling task status (attempt ${pollAttempts}):`, taskId);
|
||||
const data = await fetchAPI(`/v1/system/settings/task_progress/${taskId}/`);
|
||||
console.log(`[ImageQueueModal] Task status response:`, data);
|
||||
|
||||
// Check if data is valid (not HTML error page)
|
||||
if (!data || typeof data !== 'object') {
|
||||
@@ -67,14 +81,18 @@ export default function ImageQueueModal({
|
||||
|
||||
// Check state (task_progress returns 'state', not 'status')
|
||||
const taskState = data.state || data.status;
|
||||
console.log(`[ImageQueueModal] Task state:`, taskState);
|
||||
|
||||
if (taskState === 'SUCCESS' || taskState === 'FAILURE') {
|
||||
console.log(`[ImageQueueModal] Task completed with state:`, taskState);
|
||||
clearInterval(pollInterval);
|
||||
// Update final state
|
||||
if (taskState === 'SUCCESS' && data.result) {
|
||||
console.log(`[ImageQueueModal] Updating queue from result:`, data.result);
|
||||
updateQueueFromTaskResult(data.result);
|
||||
} else if (taskState === 'SUCCESS' && data.meta && data.meta.result) {
|
||||
// Some responses have result in meta
|
||||
console.log(`[ImageQueueModal] Updating queue from meta result:`, data.meta.result);
|
||||
updateQueueFromTaskResult(data.meta.result);
|
||||
}
|
||||
return;
|
||||
@@ -82,7 +100,10 @@ export default function ImageQueueModal({
|
||||
|
||||
// Update progress from task meta
|
||||
if (data.meta) {
|
||||
console.log(`[ImageQueueModal] Updating queue from meta:`, data.meta);
|
||||
updateQueueFromTaskMeta(data.meta);
|
||||
} else {
|
||||
console.log(`[ImageQueueModal] No meta data in response`);
|
||||
}
|
||||
} catch (error: any) {
|
||||
// Check if it's a JSON parse error (HTML response) or API error
|
||||
|
||||
Reference in New Issue
Block a user