Import/export pipeline for UnoPim. Activates when configuring imports, exports, debugging job pipelines, or creating data transfer profiles; or when the user mentions import, export, CSV, Excel, job, queue, batch, or data transfer.
The import/export pipeline uses a queued job system with state tracking.
Invoke this skill when:
PENDING → VALIDATED → PROCESSING → PROCESSED → LINKING → LINKED → INDEXING → INDEXED → COMPLETED
↓
FAILED
PENDING → PROCESSING → COMPLETED
↓
FAILED
| Class | Purpose |
|---|---|
Helpers/Import.php | Import orchestrator — validates, batches, processes |
Helpers/Importers/AbstractImporter.php | Base importer with batch processing |
Helpers/Importers/Product/Importer.php | Product-specific import logic |
Helpers/Importers/Category/Importer.php | Category-specific import logic |
Helpers/Sources/CSV.php | CSV file reader |
Helpers/Sources/Excel.php | Excel file reader |
| Class | Purpose |
|---|---|
Helpers/Export.php | Export orchestrator |
Helpers/Exporters/AbstractExporter.php | Base exporter |
Helpers/Exporters/Product/Exporter.php | Product export |
Helpers/Exporters/Category/Exporter.php | Category export |
| Stage | Job Class |
|---|---|
| Import track | ImportTrackBatch |
| Import batch | ImportBatch |
| Link batch | LinkBatch |
| Linking | Linking |
| Index batch | IndexBatch |
| Indexing | Indexing |
| Completed | Completed |
| Export track | ExportTrackBatch |
| Export batch | ExportBatch |
| Upload | UploadFile |
# Start queue worker (required for import/export)
php artisan queue:work --queue="default,system"
# Run a specific job
php artisan unopim:queue:work {jobId} {userEmail}
# Restart workers after code changes
php artisan queue:restart
| Model | Purpose |
|---|---|
JobInstances | Job definition (type, entity, file path, settings) |
JobTrack | Single job run (state, stats, errors) |
JobTrackBatch | Individual batch within a job |
Queue worker not running:
php artisan queue:work --queue="default,system"
Check JobTrack.errors for detailed row-level errors.
Verify data exists and filters match records.
See the unopim-plugin-dev skill → custom-data-transfer.md.