Import Job Orchestration & Status Tracking
Import Job Orchestration & Status Tracking
Introduced in v1.0.26
Overview
Content imports from a Teachable school involve multiple sequential pipeline stages — extracting course structures, parsing lesson pages, resolving embedded media, and reconstructing content inside the platform. Starting with v1.0.26, this entire workflow is coordinated as a single trackable import job entity, giving administrators full visibility and control over the process.
How It Works
When an import is initiated, the platform creates a top-level import job that acts as the authoritative record for that operation. The job owns the lifecycle of all downstream pipeline steps and exposes a unified status that admins can query at any time.
Pipeline Stages
The import job coordinates the following stages in sequence:
- Course Structure Extraction — Crawls the connected Teachable school and maps the course hierarchy (sections, lectures, etc.).
- Lesson & Content Parsing — Extracts text content, embedded video links, images, and document attachments from each lesson page.
- Media Resolution — Resolves and stages external media assets for import.
- Content Reconstruction — Rebuilds the full course inside the platform, preserving structure and content fidelity.
Job Status Tracking
Admins can poll the status of any import job to get a real-time view of its progress. The status reflects the current pipeline stage and overall job state.
Job States
| State | Description |
|---|---|
pending | Job has been created and is queued for processing. |
running | Job is actively progressing through pipeline stages. |
completed | All pipeline stages finished successfully. |
failed | One or more pipeline stages encountered an error. |
cancelled | The job was manually cancelled before completion. |
Cancellation
A running import job can be cancelled at any time. Cancelling a job:
- Stops further pipeline processing immediately.
- Marks the job with a
cancelledstate. - Preserves any partially imported content already committed to the platform.
This is useful when an import was started with incorrect configuration, or when a large import needs to be interrupted and restarted later.
Retrying Failed Jobs
If an import job reaches a failed state, it can be retried directly — no need to reconfigure or re-initiate the import from scratch.
- Retry reuses the original job configuration.
- The pipeline resumes from the failed state, minimising redundant work where possible.
- The retry attempt is tracked under the same job entity, keeping the history consolidated.
Use Cases
- Monitoring large imports — Poll job status to track progress across a school with many courses and lessons.
- Diagnosing stalled imports — Status updates pinpoint which pipeline stage is slow or blocked.
- Safe interruption — Cancel an in-progress import if something looks wrong, then retry once the issue is resolved.
- Resilient workflows — Retry failed jobs without losing context or re-entering configuration.