fix: export job records display shows files instead of mixed metrics
Previously export jobs showed "3/23" (languages/products) which was confusing. Now shows "3/3" (files succeeded / files processed) for consistency. - Updated log_export to track files_processed/succeeded/failed - Products count stored in error_details for reference - Updated documentation to explain records column meaning per job type 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -287,9 +287,10 @@ class LetzshopExportService:
|
||||
vendor_id: int,
|
||||
started_at: datetime,
|
||||
completed_at: datetime,
|
||||
records_processed: int,
|
||||
languages_succeeded: int,
|
||||
languages_failed: int,
|
||||
files_processed: int,
|
||||
files_succeeded: int,
|
||||
files_failed: int,
|
||||
products_exported: int,
|
||||
triggered_by: str,
|
||||
error_details: dict | None = None,
|
||||
) -> LetzshopSyncLog:
|
||||
@@ -301,9 +302,10 @@ class LetzshopExportService:
|
||||
vendor_id: Vendor ID
|
||||
started_at: When the export started
|
||||
completed_at: When the export completed
|
||||
records_processed: Number of products exported
|
||||
languages_succeeded: Number of languages successfully exported
|
||||
languages_failed: Number of languages that failed
|
||||
files_processed: Number of language files to export (e.g., 3)
|
||||
files_succeeded: Number of files successfully exported
|
||||
files_failed: Number of files that failed
|
||||
products_exported: Total products in the export
|
||||
triggered_by: Who triggered the export (e.g., "admin:123")
|
||||
error_details: Optional error details if any failures
|
||||
|
||||
@@ -314,15 +316,18 @@ class LetzshopExportService:
|
||||
vendor_id=vendor_id,
|
||||
operation_type="product_export",
|
||||
direction="outbound",
|
||||
status="completed" if languages_failed == 0 else "partial",
|
||||
records_processed=records_processed,
|
||||
records_succeeded=languages_succeeded,
|
||||
records_failed=languages_failed,
|
||||
status="completed" if files_failed == 0 else "partial",
|
||||
records_processed=files_processed,
|
||||
records_succeeded=files_succeeded,
|
||||
records_failed=files_failed,
|
||||
started_at=started_at,
|
||||
completed_at=completed_at,
|
||||
duration_seconds=int((completed_at - started_at).total_seconds()),
|
||||
triggered_by=triggered_by,
|
||||
error_details=error_details,
|
||||
error_details={
|
||||
"products_exported": products_exported,
|
||||
**(error_details or {}),
|
||||
} if products_exported or error_details else None,
|
||||
)
|
||||
db.add(sync_log)
|
||||
db.flush()
|
||||
|
||||
Reference in New Issue
Block a user