The Auto Assign All button dispatches a background job to the default queue. Progress appears in the console status bar.
Per-product cap: {{ \Webkul\JlrEpc\Jobs\AutoAssignDiagramsJob::MAX_PER_PRODUCT }} diagrams maximum
Products that already have {{ \Webkul\JlrEpc\Jobs\AutoAssignDiagramsJob::MAX_PER_PRODUCT }} done assignments are skipped entirely. Products with fewer than {{ \Webkul\JlrEpc\Jobs\AutoAssignDiagramsJob::MAX_PER_PRODUCT }} receive enough new diagrams to reach the cap.
Idempotent — safe to re-run
Nodes with an existing Done assignment are never regenerated. Running the job again only fills in products that were missed the first time (e.g. new products added since the last run, or products where generation previously failed).
Ordering
Diagrams are selected in the same order as the manual UI: alphabetically by vehicle name, then by section title. The first {{ \Webkul\JlrEpc\Jobs\AutoAssignDiagramsJob::MAX_PER_PRODUCT }} unassigned diagrams in that order are assigned.
Failures
Individual generation failures (SVG not found, R2 upload error, etc.) are logged and recorded with Failed status but do not abort the batch. Re-running the job will retry them.