This commit is contained in:
IGNY8 VPS (Salman)
2025-12-03 16:15:06 +00:00
parent 39df00e5ae
commit c36b70f31f
2 changed files with 63 additions and 12 deletions

View File

@@ -226,12 +226,16 @@ class AutomationService:
stage_number, f"Validation: {keywords_processed} keywords processed, {clusters_created} clusters created"
)
# Save results
# Save results with timestamps
from django.utils import timezone
self.run.stage_1_result = {
'keywords_processed': keywords_processed,
'clusters_created': clusters_created,
'batches_run': batches_run,
'credits_used': credits_used
'credits_used': credits_used,
'started_at': self.run.started_at.isoformat(),
'completed_at': timezone.now().isoformat(),
'time_elapsed': time_elapsed
}
self.run.current_stage = 2
self.run.total_credits_used += credits_used
@@ -353,11 +357,15 @@ class AutomationService:
stage_number, clusters_processed, time_elapsed, credits_used
)
# Save results
# Save results with timestamps
from django.utils import timezone
self.run.stage_2_result = {
'clusters_processed': clusters_processed,
'ideas_created': ideas_created,
'credits_used': credits_used
'credits_used': credits_used,
'started_at': self.run.started_at.isoformat(),
'completed_at': timezone.now().isoformat(),
'time_elapsed': time_elapsed
}
self.run.current_stage = 3
self.run.total_credits_used += credits_used
@@ -488,11 +496,15 @@ class AutomationService:
stage_number, ideas_processed, time_elapsed, 0 # No credits for local operation
)
# Save results
# Save results with timestamps
from django.utils import timezone
self.run.stage_3_result = {
'ideas_processed': ideas_processed,
'tasks_created': tasks_created,
'batches_run': batches_run
'batches_run': batches_run,
'started_at': self.run.started_at.isoformat(),
'completed_at': timezone.now().isoformat(),
'time_elapsed': time_elapsed
}
self.run.current_stage = 4
self.run.save()
@@ -637,12 +649,16 @@ class AutomationService:
stage_number, "Post-stage validation passed: 0 tasks remaining"
)
# Save results
# Save results with timestamps
from django.utils import timezone
self.run.stage_4_result = {
'tasks_processed': tasks_processed,
'content_created': content_created,
'total_words': total_words,
'credits_used': credits_used
'credits_used': credits_used,
'started_at': self.run.started_at.isoformat(),
'completed_at': timezone.now().isoformat(),
'time_elapsed': time_elapsed
}
self.run.current_stage = 5
self.run.total_credits_used += credits_used
@@ -775,11 +791,15 @@ class AutomationService:
stage_number, content_processed, time_elapsed, credits_used
)
# Save results
# Save results with timestamps
from django.utils import timezone
self.run.stage_5_result = {
'content_processed': content_processed,
'prompts_created': prompts_created,
'credits_used': credits_used
'credits_used': credits_used,
'started_at': self.run.started_at.isoformat(),
'completed_at': timezone.now().isoformat(),
'time_elapsed': time_elapsed
}
self.run.current_stage = 6
self.run.total_credits_used += credits_used
@@ -914,12 +934,17 @@ class AutomationService:
stage_number, images_processed, time_elapsed, credits_used
)
# Save results
# Save results with timestamps
from django.utils import timezone
stage_6_start = start_time # Capture stage start time
self.run.stage_6_result = {
'images_processed': images_processed,
'images_generated': images_generated,
'content_moved_to_review': content_moved_to_review,
'credits_used': credits_used
'credits_used': credits_used,
'started_at': self.run.started_at.isoformat(),
'completed_at': timezone.now().isoformat(),
'time_elapsed': time_elapsed
}
self.run.current_stage = 7
self.run.total_credits_used += credits_used

View File

@@ -468,6 +468,19 @@ const AutomationPage: React.FC = () => {
{stage.pending}
</span>
</div>
{/* Credits and Time - Section 6 Enhancement */}
{result && result.credits_used !== undefined && (
<div className="flex justify-between pt-1.5 border-t border-slate-200 dark:border-gray-700">
<span className="text-gray-600 dark:text-gray-400">Credits Used:</span>
<span className="font-bold text-amber-600 dark:text-amber-400">{result.credits_used}</span>
</div>
)}
{result && result.time_elapsed && (
<div className="flex justify-between">
<span className="text-gray-600 dark:text-gray-400">Duration:</span>
<span className="font-semibold text-gray-700 dark:text-gray-300">{result.time_elapsed}</span>
</div>
)}
</div>
{/* Progress Bar */}
@@ -548,6 +561,19 @@ const AutomationPage: React.FC = () => {
{stage.pending}
</span>
</div>
{/* Credits and Time - Section 6 Enhancement */}
{result && result.credits_used !== undefined && (
<div className="flex justify-between pt-1.5 border-t border-slate-200 dark:border-gray-700">
<span className="text-gray-600 dark:text-gray-400">Credits Used:</span>
<span className="font-bold text-amber-600 dark:text-amber-400">{result.credits_used}</span>
</div>
)}
{result && result.time_elapsed && (
<div className="flex justify-between">
<span className="text-gray-600 dark:text-gray-400">Duration:</span>
<span className="font-semibold text-gray-700 dark:text-gray-300">{result.time_elapsed}</span>
</div>
)}
</div>
{(isActive || isComplete || processed > 0) && (