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:
@@ -445,15 +445,17 @@ def export_vendor_products_letzshop_to_folder(
|
||||
})
|
||||
|
||||
# Log the export operation via service
|
||||
# For exports, track files (languages) as the unit of work
|
||||
completed_at = datetime.now(UTC)
|
||||
letzshop_export_service.log_export(
|
||||
db=db,
|
||||
vendor_id=vendor.id,
|
||||
started_at=started_at,
|
||||
completed_at=completed_at,
|
||||
records_processed=total_records,
|
||||
languages_succeeded=len(languages) - failed_count,
|
||||
languages_failed=failed_count,
|
||||
files_processed=len(languages),
|
||||
files_succeeded=len(languages) - failed_count,
|
||||
files_failed=failed_count,
|
||||
products_exported=total_records,
|
||||
triggered_by=f"admin:{current_admin.id}",
|
||||
error_details={"files": exported_files} if failed_count > 0 else None,
|
||||
)
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -155,10 +155,19 @@ Each job displays:
|
||||
- **ID**: Unique job identifier
|
||||
- **Type**: Import, Export, Historical Import, or Order Sync
|
||||
- **Status**: Pending, Processing, Completed, Failed, or Partial
|
||||
- **Records**: Success count / Total processed (failed count)
|
||||
- **Records**: Success count / Total processed (failed count if any)
|
||||
- **Started**: When the job began
|
||||
- **Duration**: How long the job took
|
||||
|
||||
#### Records Column Meaning
|
||||
|
||||
| Job Type | Records Shows |
|
||||
|----------|---------------|
|
||||
| Product Import | Products imported / Total products |
|
||||
| Product Export | Files exported / Total files (3 languages) |
|
||||
| Historical Import | Orders imported / Total orders |
|
||||
| Order Sync | Orders synced / Total orders |
|
||||
|
||||
### Filtering
|
||||
|
||||
- **Type Filter**: Show specific job types
|
||||
|
||||
Reference in New Issue
Block a user