a
This commit is contained in:
@@ -139,7 +139,7 @@ def process_image_generation_queue(self, image_ids: list, account_id: int = None
|
|||||||
from igny8_core.modules.writer.models import Images, Content
|
from igny8_core.modules.writer.models import Images, Content
|
||||||
from igny8_core.modules.system.models import IntegrationSettings
|
from igny8_core.modules.system.models import IntegrationSettings
|
||||||
from igny8_core.ai.ai_core import AICore
|
from igny8_core.ai.ai_core import AICore
|
||||||
from igny8_core.utils.prompt_registry import PromptRegistry
|
from igny8_core.ai.prompts import PromptRegistry
|
||||||
|
|
||||||
logger.info("=" * 80)
|
logger.info("=" * 80)
|
||||||
logger.info(f"process_image_generation_queue STARTED")
|
logger.info(f"process_image_generation_queue STARTED")
|
||||||
|
|||||||
@@ -29,6 +29,14 @@ interface ImageQueueModalProps {
|
|||||||
totalImages: number;
|
totalImages: number;
|
||||||
taskId?: string | null;
|
taskId?: string | null;
|
||||||
onUpdateQueue?: (queue: ImageQueueItem[]) => void;
|
onUpdateQueue?: (queue: ImageQueueItem[]) => void;
|
||||||
|
onLog?: (log: {
|
||||||
|
timestamp: string;
|
||||||
|
type: 'request' | 'success' | 'error' | 'step';
|
||||||
|
action: string;
|
||||||
|
data: any;
|
||||||
|
stepName?: string;
|
||||||
|
percentage?: number;
|
||||||
|
}) => void;
|
||||||
}
|
}
|
||||||
|
|
||||||
export default function ImageQueueModal({
|
export default function ImageQueueModal({
|
||||||
@@ -38,6 +46,7 @@ export default function ImageQueueModal({
|
|||||||
totalImages,
|
totalImages,
|
||||||
taskId,
|
taskId,
|
||||||
onUpdateQueue,
|
onUpdateQueue,
|
||||||
|
onLog,
|
||||||
}: ImageQueueModalProps) {
|
}: ImageQueueModalProps) {
|
||||||
const [localQueue, setLocalQueue] = useState<ImageQueueItem[]>(queue);
|
const [localQueue, setLocalQueue] = useState<ImageQueueItem[]>(queue);
|
||||||
|
|
||||||
@@ -86,6 +95,44 @@ export default function ImageQueueModal({
|
|||||||
if (taskState === 'SUCCESS' || taskState === 'FAILURE') {
|
if (taskState === 'SUCCESS' || taskState === 'FAILURE') {
|
||||||
console.log(`[ImageQueueModal] Task completed with state:`, taskState);
|
console.log(`[ImageQueueModal] Task completed with state:`, taskState);
|
||||||
clearInterval(pollInterval);
|
clearInterval(pollInterval);
|
||||||
|
|
||||||
|
// Log completion status
|
||||||
|
if (onLog) {
|
||||||
|
if (taskState === 'SUCCESS') {
|
||||||
|
const result = data.result || (data.meta && data.meta.result);
|
||||||
|
const completed = result?.completed || 0;
|
||||||
|
const failed = result?.failed || 0;
|
||||||
|
const total = result?.total_images || totalImages;
|
||||||
|
|
||||||
|
onLog({
|
||||||
|
timestamp: new Date().toISOString(),
|
||||||
|
type: failed > 0 ? 'error' : 'success',
|
||||||
|
action: 'generate_images',
|
||||||
|
stepName: 'Task Completed',
|
||||||
|
data: {
|
||||||
|
state: 'SUCCESS',
|
||||||
|
completed,
|
||||||
|
failed,
|
||||||
|
total,
|
||||||
|
results: result?.results || []
|
||||||
|
}
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
// FAILURE
|
||||||
|
onLog({
|
||||||
|
timestamp: new Date().toISOString(),
|
||||||
|
type: 'error',
|
||||||
|
action: 'generate_images',
|
||||||
|
stepName: 'Task Failed',
|
||||||
|
data: {
|
||||||
|
state: 'FAILURE',
|
||||||
|
error: data.error || data.meta?.error || 'Task failed',
|
||||||
|
meta: data.meta
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// Update final state
|
// Update final state
|
||||||
if (taskState === 'SUCCESS' && data.result) {
|
if (taskState === 'SUCCESS' && data.result) {
|
||||||
console.log(`[ImageQueueModal] Updating queue from result:`, data.result);
|
console.log(`[ImageQueueModal] Updating queue from result:`, data.result);
|
||||||
|
|||||||
@@ -280,9 +280,10 @@ export default function Images() {
|
|||||||
console.log('[Generate Images] Stage 2: Task started with ID:', result.task_id);
|
console.log('[Generate Images] Stage 2: Task started with ID:', result.task_id);
|
||||||
addAiLog({
|
addAiLog({
|
||||||
timestamp: new Date().toISOString(),
|
timestamp: new Date().toISOString(),
|
||||||
type: 'success',
|
type: 'step',
|
||||||
action: 'generate_images',
|
action: 'generate_images',
|
||||||
data: { task_id: result.task_id, message: 'Task queued successfully' }
|
stepName: 'Task Queued',
|
||||||
|
data: { task_id: result.task_id, message: 'Image generation task queued' }
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
toast.error(result.error || 'Failed to start image generation');
|
toast.error(result.error || 'Failed to start image generation');
|
||||||
@@ -400,6 +401,7 @@ export default function Images() {
|
|||||||
totalImages={imageQueue.length}
|
totalImages={imageQueue.length}
|
||||||
taskId={taskId}
|
taskId={taskId}
|
||||||
onUpdateQueue={setImageQueue}
|
onUpdateQueue={setImageQueue}
|
||||||
|
onLog={addAiLog}
|
||||||
/>
|
/>
|
||||||
|
|
||||||
{/* AI Function Logs - Display below table (only when Resource Debug is enabled) */}
|
{/* AI Function Logs - Display below table (only when Resource Debug is enabled) */}
|
||||||
|
|||||||
Reference in New Issue
Block a user